class ElasticAPM::OpenTracing::SpanContext

@api private

def self.from_header(header)

def self.from_header(header)
  return unless header
  trace_context = TraceContext.new(
    traceparent: TraceContext::Traceparent.parse(header)
  )
  trace_context.traceparent.id = trace_context.parent_id
  trace_context.traceparent.parent_id = nil
  from_trace_context(trace_context)
end

def self.from_trace_context(trace_context)

def self.from_trace_context(trace_context)
  new(trace_context: trace_context)
end

def child

def child
  self.class.from_trace_context(trace_context.child)
end

def initialize(trace_context:, baggage: nil)

def initialize(trace_context:, baggage: nil)
  if baggage
    ElasticAPM.agent.config.logger.warn(
      'Baggage is not supported by ElasticAPM'
    )
  end
  @trace_context = trace_context
end