class Racecar::Instrumenter
Common API for instrumentation to standardize namespace and default payload
Constants
- NAMESPACE
Attributes
backend[R]
Public Class Methods
new(default_payload = {})
click to toggle source
# File lib/racecar/instrumenter.rb, line 12 def initialize(default_payload = {}) @default_payload = default_payload @backend = if defined?(ActiveSupport::Notifications) # ActiveSupport needs `concurrent-ruby` but doesn't `require` it. require 'concurrent/utility/monotonic_time' ActiveSupport::Notifications else NullInstrumenter end end
Public Instance Methods
instrument(event_name, payload = {}, &block)
click to toggle source
# File lib/racecar/instrumenter.rb, line 24 def instrument(event_name, payload = {}, &block) @backend.instrument("#{event_name}.#{NAMESPACE}", @default_payload.merge(payload), &block) end