Class: Riemann::Metrics::NotificationsHandler
- Inherits:
-
Object
- Object
- Riemann::Metrics::NotificationsHandler
- Defined in:
- lib/riemann/metrics/notifications_handler.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
Instance Method Summary collapse
- #deliver_action_mailer(channel, start, finish, id, payload) ⇒ Object
-
#initialize(client) ⇒ NotificationsHandler
constructor
A new instance of NotificationsHandler.
- #process_action_action_controller(channel, start, finish, id, payload) ⇒ Object
- #total_time(start, finish) ⇒ Object
Constructor Details
#initialize(client) ⇒ NotificationsHandler
Returns a new instance of NotificationsHandler.
7 8 9 |
# File 'lib/riemann/metrics/notifications_handler.rb', line 7 def initialize client @client = client end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
5 6 7 |
# File 'lib/riemann/metrics/notifications_handler.rb', line 5 def client @client end |
Instance Method Details
#deliver_action_mailer(channel, start, finish, id, payload) ⇒ Object
25 26 27 28 29 |
# File 'lib/riemann/metrics/notifications_handler.rb', line 25 def deliver_action_mailer channel, start, finish, id, payload = [ payload[:mailer] ] state = !payload[:exception].nil? ? Riemann::Metrics::Client::CRITICAL : Riemann::Metrics::Client::OK client.gauge (.dup << 'email_send_runtime'), state, total_time(start, finish), "#{payload[:mailer]}.email_send_runtime" end |
#process_action_action_controller(channel, start, finish, id, payload) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/riemann/metrics/notifications_handler.rb', line 15 def process_action_action_controller channel, start, finish, id, payload = [payload[:controller], payload[:action]] service_name = .join(".") state = !payload[:exception].nil? ? Riemann::Metrics::Client::CRITICAL : Riemann::Metrics::Client::OK client.gauge (.dup << 'http_status'), state, payload[:status], "#{service_name}.http_status" client.gauge (.dup << 'view_runtime'), state, payload[:view_runtime], "#{service_name}.view_runtime" client.gauge (.dup << 'request_runtime'), state, total_time(start, finish), "#{service_name}.total_time" client.gauge (.dup << 'db_runtime'), state, payload[:db_runtime], "#{service_name}.db_runtime" end |
#total_time(start, finish) ⇒ Object
11 12 13 |
# File 'lib/riemann/metrics/notifications_handler.rb', line 11 def total_time start, finish ( finish - start ) * 1000 end |