Class: Lita::Handlers::Metrics
- Inherits:
-
Handler
- Object
- Handler
- Lita::Handlers::Metrics
- Defined in:
- lib/lita/handlers/metrics.rb
Class Attribute Summary collapse
-
.invalid_command_log ⇒ Object
Returns the value of attribute invalid_command_log.
-
.statsd ⇒ Object
Returns the value of attribute statsd.
-
.valid_command_log ⇒ Object
Returns the value of attribute valid_command_log.
Instance Method Summary collapse
Class Attribute Details
.invalid_command_log ⇒ Object
Returns the value of attribute invalid_command_log.
7 8 9 |
# File 'lib/lita/handlers/metrics.rb', line 7 def invalid_command_log @invalid_command_log end |
.statsd ⇒ Object
Returns the value of attribute statsd.
5 6 7 |
# File 'lib/lita/handlers/metrics.rb', line 5 def statsd @statsd end |
.valid_command_log ⇒ Object
Returns the value of attribute valid_command_log.
6 7 8 |
# File 'lib/lita/handlers/metrics.rb', line 6 def valid_command_log @valid_command_log end |
Instance Method Details
#invalid_command(payload) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/lita/handlers/metrics.rb', line 42 def invalid_command(payload) fields = extract_fields(payload) return unless fields[:command] self.class.statsd.increment( config.invalid_command_metric, tags: fields.each.select { |k, _v| k != :message }.map { |k, v| "#{k}:#{v}" } ) self.class.invalid_command_log.info(format_log(fields)) unless fields[:private_message] end |
#setup(_payload) ⇒ Object
23 24 25 26 27 |
# File 'lib/lita/handlers/metrics.rb', line 23 def setup(_payload) self.class.statsd = Statsd.new(config.statsd_host, config.statsd_port) self.class.valid_command_log = ::Logger.new(*arrayize(config.valid_command_logger)) self.class.invalid_command_log = ::Logger.new(*arrayize(config.invalid_command_logger)) end |
#valid_command(payload) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/lita/handlers/metrics.rb', line 29 def valid_command(payload) fields = extract_fields(payload) return if ignore?(fields) self.class.statsd.increment( config.valid_command_metric, tags: fields.each.select { |k, _v| k != :message }.map { |k, v| "#{k}:#{v}" } ) self.class.valid_command_log.info(format_log(fields)) unless fields[:private_message] end |