class ActiveSupport::Notifications::Instrumenter
Attributes
id[R]
Public Class Methods
new(notifier)
click to toggle source
# File lib/active_support/notifications/instrumenter.rb, line 8 def initialize(notifier) @id = unique_id @notifier = notifier end
Public Instance Methods
instrument(name, payload={}) { || ... }
click to toggle source
Instrument the given block by measuring the time taken to execute it and publish it. Notice that events get sent even if an error occurs in the passed-in block
# File lib/active_support/notifications/instrumenter.rb, line 16 def instrument(name, payload={}) started = Time.now begin yield rescue Exception => e payload[:exception] = [e.class.name, e.message] raise e ensure @notifier.publish(name, started, Time.now, @id, payload) end end