Sha256: 867bdbe915744b8afe77d0dbfbc663be1e81b6ca7e29981ca78c7aee6cf11090

Contents?: true

Size: 1.09 KB

Versions: 25

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

require_relative '../tie'

module Datadog
  module Core
    module Remote
      module Tie
        # Extend Remote Configuration abilities with Tracing
        module Tracing
          # Tag per-request Remote Configuration metadata using Tracing
          def self.tag(boot, span)
            return if boot.nil?
            return if span.nil?

            return if Datadog::Core::Remote.active_remote.nil?

            # TODO: this is not thread-consistent
            ready = Datadog::Core::Remote.active_remote.healthy
            status = ready ? 'ready' : 'disconnected'

            span.set_tag('_dd.rc.client_id', Datadog::Core::Remote.active_remote.client.id)
            span.set_tag('_dd.rc.status', status)

            if boot.barrier != :pass
              span.set_tag('_dd.rc.boot.time', boot.time)

              if boot.barrier == :timeout
                span.set_tag('_dd.rc.boot.timeout', true)
              else
                span.set_tag('_dd.rc.boot.ready', ready)
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
datadog-2.12.2 lib/datadog/core/remote/tie/tracing.rb
datadog-2.12.1 lib/datadog/core/remote/tie/tracing.rb
datadog-2.12.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.11.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.10.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.9.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.8.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.7.1 lib/datadog/core/remote/tie/tracing.rb
datadog-2.7.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.6.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.5.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.4.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.3.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.2.0 lib/datadog/core/remote/tie/tracing.rb
ddtrace-1.23.3 lib/datadog/core/remote/tie/tracing.rb
ddtrace-1.23.2 lib/datadog/core/remote/tie/tracing.rb
datadog-2.1.0 lib/datadog/core/remote/tie/tracing.rb
datadog-2.0.0 lib/datadog/core/remote/tie/tracing.rb
ddtrace-1.23.1 lib/datadog/core/remote/tie/tracing.rb
datadog-2.0.0.beta2 lib/datadog/core/remote/tie/tracing.rb