Sha256: c1fb33749b50b98b62e9e56654819b5101badd560dd06e547f4ab985e168b00e

Contents?: true

Size: 505 Bytes

Versions: 10

Compression:

Stored size: 505 Bytes

Contents

# frozen_string_literal: true

module Racecar
  ##
  # Common API for instrumentation to standardize
  # namespace and default payload
  #
  class Instrumenter
    NAMESPACE = "racecar"
    attr_reader :backend

    def initialize(backend:, default_payload: {})
      @backend = backend
      @default_payload = default_payload
    end

    def instrument(event_name, payload = {}, &block)
      @backend.instrument("#{event_name}.#{NAMESPACE}", @default_payload.merge(payload), &block)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
racecar-2.11.0 lib/racecar/instrumenter.rb
racecar-2.11.0.beta4 lib/racecar/instrumenter.rb
racecar-2.11.0.beta3 lib/racecar/instrumenter.rb
racecar-2.11.0.beta2 lib/racecar/instrumenter.rb
racecar-2.11.0.beta1 lib/racecar/instrumenter.rb
racecar-2.10.0 lib/racecar/instrumenter.rb
racecar-2.10.0.beta2 lib/racecar/instrumenter.rb
racecar-2.10.0.beta1 lib/racecar/instrumenter.rb
racecar-2.9.0 lib/racecar/instrumenter.rb
racecar-2.9.0.beta1 lib/racecar/instrumenter.rb