instance method
instrument
Ruby on Rails 7.0.10
Since v3.0.20Signature
instrument(name, payload = {})
Given a block, instrument it by measuring the time taken to execute and publish it. Without a block, simply send a message via the notifier. Notice that events get sent even if an error occurs in the passed-in block.
Parameters
-
namereq -
payloadopt = {}
Source
# File activesupport/lib/active_support/notifications/instrumenter.rb, line 20
def instrument(name, payload = {})
# some of the listeners might have state
listeners_state = start name, payload
begin
yield payload if block_given?
rescue Exception => e
payload[:exception] = [e.class.name, e.message]
payload[:exception_object] = e
raise e
ensure
finish_with_state listeners_state, name, payload
end
end
Defined in activesupport/lib/active_support/notifications/instrumenter.rb line 20
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::Notifications::Instrumenter