class ActiveSupport::Notifications::Instrumenter

def instrument(name, payload = {})

Experimental RBS support (using type sampling data from the type_fusion project).

type ActiveSupport__Notifications__Instrumenter_instrument_return_value = PG::Result | nil | ActionView::AbstractRenderer::RenderedTemplate | ActionView::OutputBuffer

def instrument: (String name, ?Hash payload) -> ActiveSupport__Notifications__Instrumenter_instrument_return_value

This signature was generated using 66 samples from 3 applications.

passed-in block.
notifier. Notice that events get sent even if an error occurs in the
and publish it. Without a block, simply send a message via the
Given a block, instrument it by measuring the time taken to execute
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