Sha256: 39dd8b641c9129cb3978b4e919dacd3aa0f0bd5dde9cb29481a14ec2d45e9413

Contents?: true

Size: 726 Bytes

Versions: 2

Compression:

Stored size: 726 Bytes

Contents

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

2 entries across 2 versions & 1 rubygems

Version Path
ddtrace-1.10.1 lib/datadog/opentracer/span_context_factory.rb
ddtrace-1.10.0 lib/datadog/opentracer/span_context_factory.rb