class Riemann::Metrics::NotificationsHandler
Attributes
client[R]
Public Class Methods
new(client)
click to toggle source
# File lib/riemann/metrics/notifications_handler.rb, line 7 def initialize client @client = client end
Public Instance Methods
deliver_action_mailer(channel, start, finish, id, payload)
click to toggle source
# File lib/riemann/metrics/notifications_handler.rb, line 25 def deliver_action_mailer channel, start, finish, id, payload tags = [ payload[:mailer] ] state = !payload[:exception].nil? ? Riemann::Metrics::Client::CRITICAL : Riemann::Metrics::Client::OK client.gauge (tags.dup << 'email_send_runtime'), state, total_time(start, finish), "#{payload[:mailer]}.email_send_runtime" end
process_action_action_controller(channel, start, finish, id, payload)
click to toggle source
# File lib/riemann/metrics/notifications_handler.rb, line 15 def process_action_action_controller channel, start, finish, id, payload tags = [payload[:controller], payload[:action]] service_name = tags.join(".") state = !payload[:exception].nil? ? Riemann::Metrics::Client::CRITICAL : Riemann::Metrics::Client::OK client.gauge (tags.dup << 'http_status'), state, payload[:status], "#{service_name}.http_status" client.gauge (tags.dup << 'view_runtime'), state, payload[:view_runtime], "#{service_name}.view_runtime" client.gauge (tags.dup << 'request_runtime'), state, total_time(start, finish), "#{service_name}.total_time" client.gauge (tags.dup << 'db_runtime'), state, payload[:db_runtime], "#{service_name}.db_runtime" end
total_time(start, finish)
click to toggle source
# File lib/riemann/metrics/notifications_handler.rb, line 11 def total_time start, finish ( finish - start ) * 1000 end