Sha256: 3f163492b3d083a427c9605081d36d5ae6764e38b784f8a7cb878171c29338ee

Contents?: true

Size: 555 Bytes

Versions: 6

Compression:

Stored size: 555 Bytes

Contents

module Kafka
  class Instrumenter
    NAMESPACE = "kafka"

    def initialize(default_payload = {})
      @default_payload = default_payload

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

    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
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ruby-kafka-0.3.8 lib/kafka/instrumenter.rb
ruby-kafka-0.3.7 lib/kafka/instrumenter.rb
ruby-kafka-0.3.6 lib/kafka/instrumenter.rb
ruby-kafka-0.3.5 lib/kafka/instrumenter.rb
ruby-kafka-0.3.4 lib/kafka/instrumenter.rb
ruby-kafka-0.3.3 lib/kafka/instrumenter.rb