Sha256: 80e3ff03f3b102d9d5f4f5a564bce266203b335db8bb4e9cc8cca1f014fd377c

Contents?: true

Size: 1.41 KB

Versions: 24

Compression:

Stored size: 1.41 KB

Contents

require_relative '../../ext'
require_relative '../../event'
require_relative '../../consumer_event'

module Datadog
  module Tracing
    module Contrib
      module Kafka
        module Events
          module Consumer
            # Defines instrumentation for process_message.consumer.kafka event
            module ProcessMessage
              include Kafka::Event
              extend Kafka::ConsumerEvent

              EVENT_NAME = 'process_message.consumer.kafka'.freeze

              def self.process(span, _event, _id, payload)
                super

                span.resource = payload[:topic]

                span.set_tag(Ext::TAG_TOPIC, payload[:topic]) if payload.key?(:topic)
                span.set_tag(Ext::TAG_MESSAGE_KEY, payload[:key]) if payload.key?(:key)
                span.set_tag(Ext::TAG_PARTITION, payload[:partition]) if payload.key?(:partition)
                span.set_tag(Ext::TAG_OFFSET, payload[:offset]) if payload.key?(:offset)
                span.set_tag(Ext::TAG_OFFSET_LAG, payload[:offset_lag]) if payload.key?(:offset_lag)
              end

              module_function

              def span_name
                Ext::SPAN_PROCESS_MESSAGE
              end

              def span_options
                super.merge({ tags: { Tracing::Metadata::Ext::TAG_OPERATION => Ext::TAG_OPERATION_PROCESS_MESSAGE } })
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
ddtrace-1.23.3 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.23.2 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.23.1 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.22.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.21.1 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.21.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.20.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.19.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.18.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.17.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.16.2 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.16.1 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.16.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.15.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.14.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.13.1 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.13.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.12.1 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.12.0 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb
ddtrace-1.11.1 lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb