class Kafka::Instrumenter

Constants

NAMESPACE

Public Class Methods

new(default_payload = {}) click to toggle source
# File lib/kafka/instrumenter.rb, line 7
def initialize(default_payload = {})
  @default_payload = default_payload

  if defined?(ActiveSupport::Notifications)
    @backend = ActiveSupport::Notifications
  else
    @backend = nil
  end
end

Public Instance Methods

instrument(event_name, payload = {}, &block) click to toggle source
# File lib/kafka/instrumenter.rb, line 17
def instrument(event_name, payload = {}, &block)
  if @backend
    payload.update(@default_payload)

    @backend.instrument("#{event_name}.#{NAMESPACE}", payload, &block)
  else
    block.call(payload) if block
  end
end