Sha256: 33f5ca9dc3c6a4638af62d87be979d5cf3df27df2ab069cb4aef884548ef5c69

Contents?: true

Size: 1.33 KB

Versions: 9

Compression:

Stored size: 1.33 KB

Contents

require 'ddtrace/ext/integration'
require 'ddtrace/ext/net'
require 'ddtrace/contrib/analytics'
require 'ddtrace/contrib/redis/ext'

module Datadog
  module Contrib
    module Redis
      # Tags handles generic common tags assignment.
      module Tags
        class << self
          def set_common_tags(client, span)
            # Tag as an external peer service
            span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)

            # Set analytics sample rate
            Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled?

            span.set_tag Datadog::Ext::NET::TARGET_HOST, client.host
            span.set_tag Datadog::Ext::NET::TARGET_PORT, client.port
            span.set_tag Ext::TAG_DB, client.db
            span.set_tag Ext::TAG_RAW_COMMAND, span.resource if show_command_args?
          end

          private

          def datadog_configuration
            Datadog.configuration[:redis]
          end

          def analytics_enabled?
            Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled])
          end

          def analytics_sample_rate
            datadog_configuration[:analytics_sample_rate]
          end

          def show_command_args?
            datadog_configuration[:command_args]
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ddtrace-0.51.1 lib/ddtrace/contrib/redis/tags.rb
ddtrace-0.51.0 lib/ddtrace/contrib/redis/tags.rb
ddtrace-0.50.0 lib/ddtrace/contrib/redis/tags.rb
ddtrace-0.49.0 lib/ddtrace/contrib/redis/tags.rb
ddtrace-0.48.0 lib/ddtrace/contrib/redis/tags.rb
ddtrace-0.47.0 lib/ddtrace/contrib/redis/tags.rb
ddtrace-0.46.0 lib/ddtrace/contrib/redis/tags.rb
ddtrace-0.45.0 lib/ddtrace/contrib/redis/tags.rb
ddtrace-0.44.0 lib/ddtrace/contrib/redis/tags.rb