Buffers instrumentation events during background execution for later publishing
Methods
- F
-
- I
-
- N
-
Class Public methods
new(intent, instrumenter)
Link
Source:
show
|
on GitHub
def initialize(intent, instrumenter)
@intent = intent
@instrumenter = instrumenter
@events = []
end
Instance Public methods
Source:
show
|
on GitHub
def flush
events, @events = @events, []
events.each do |event|
event.payload[:lock_wait] = @intent.lock_wait
ActiveSupport::Notifications.publish_event(event)
end
end
instrument(name, payload = {}, &block)
Link
Source:
show
|
on GitHub
def instrument(name, payload = {}, &block)
event = @instrumenter.new_event(name, payload)
begin
event.record(&block)
ensure
@events << event
end
end