Sha256: 29e53471c5790e53353b33ed65cd3c7c2216720ece87b08be2eb6c227a24a380

Contents?: true

Size: 741 Bytes

Versions: 16

Compression:

Stored size: 741 Bytes

Contents

# typed: true

module Datadog
  module OpenTracer
    # Creates new Datadog::OpenTracer::SpanContext
    module SpanContextFactory
      module_function

      def build(datadog_context:, datadog_trace_digest: nil, baggage: {})
        SpanContext.new(
          datadog_context: datadog_context,
          datadog_trace_digest: datadog_trace_digest,
          baggage: baggage.dup
        )
      end

      def clone(span_context:, baggage: {})
        SpanContext.new(
          datadog_context: span_context.datadog_context,
          datadog_trace_digest: span_context.datadog_trace_digest,
          # Merge baggage from previous SpanContext
          baggage: span_context.baggage.merge(baggage)
        )
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
ddtrace-1.9.0 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.8.0 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.7.0 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.6.1 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.6.0 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.5.2 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.5.1 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.5.0 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.4.2 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.4.1 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.4.0 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.3.0 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.2.0 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.1.0 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.0.0 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.0.0.beta2 lib/datadog/opentracer/span_context_factory.rb