Sha256: a21466a6c2c2fd564ead5584ca3f0b64d256510a229abaaf85ff71441c19ba24

Contents?: true

Size: 1.08 KB

Versions: 24

Compression:

Stored size: 1.08 KB

Contents

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

module Datadog
  module Tracing
    module Contrib
      module Kafka
        module Events
          module Connection
            # Defines instrumentation for request.connection.kafka event
            module Request
              include Kafka::Event

              EVENT_NAME = 'request.connection.kafka'.freeze

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

                span.resource = payload[:api]

                span.set_tag(Ext::TAG_REQUEST_SIZE, payload[:request_size]) if payload.key?(:request_size)
                span.set_tag(Ext::TAG_RESPONSE_SIZE, payload[:response_size]) if payload.key?(:response_size)
              end

              module_function

              def span_name
                Ext::SPAN_CONNECTION_REQUEST
              end

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

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
ddtrace-1.11.0 lib/datadog/tracing/contrib/kafka/events/connection/request.rb
ddtrace-1.11.0.beta1 lib/datadog/tracing/contrib/kafka/events/connection/request.rb
ddtrace-1.10.1 lib/datadog/tracing/contrib/kafka/events/connection/request.rb
ddtrace-1.10.0 lib/datadog/tracing/contrib/kafka/events/connection/request.rb