class ActiveSupport::Notifications::Fanout::Handle
A Handle
is used to record the start and finish time of event.
Both start
and finish
must each be called exactly once.
Where possible, it’s best to use the block form: ActiveSupport::Notifications.instrument
. Handle
is a low-level API intended for cases where the block form can’t be used.
handle = ActiveSupport::Notifications.instrumenter.build_handle("my.event", {}) begin handle.start # work to be instrumented ensure handle.finish end
Public Instance Methods
finish()
click to toggle source
# File lib/active_support/notifications/fanout.rb, line 253 def finish finish_with_values(@name, @id, @payload) end
start()
click to toggle source
# File lib/active_support/notifications/fanout.rb, line 244 def start ensure_state! :initialized @state = :started iterate_guarding_exceptions(@groups) do |group| group.start(@name, @id, @payload) end end
Private Instance Methods
ensure_state!(expected)
click to toggle source
# File lib/active_support/notifications/fanout.rb, line 267 def ensure_state!(expected) if @state != expected raise ArgumentError, "expected state to be #{expected.inspect} but was #{@state.inspect}" end end