class OpenTelemetry::Context::Propagation::TextMapPropagator

single interface exposing inject and extract methods.
A text map propagator that composes an extractor and injector into a

def extract(carrier, context: Context.current, getter: Context::Propagation.text_map_getter)

Returns:
  • (Context) - a new context updated with state extracted from the

Parameters:
  • getter (optional Getter) -- If the optional getter is provided, it
  • context (optional Context) -- Context to be updated with the state
  • carrier (Object) -- The carrier to extract context from.
def extract(carrier, context: Context.current, getter: Context::Propagation.text_map_getter)
  @extractor.extract(carrier, context, getter)
rescue StandardError => e
  OpenTelemetry.logger.warn "Error in Propagator#extract #{e.message}"
  context
end

def fields

Returns:
  • (Array) - a list of fields that will be used by this propagator.
def fields
  @injector.fields
end

def initialize(injector, extractor)

Parameters:
  • extractor (#extract) --
  • injector (#inject) --
def initialize(injector, extractor)
  raise ArgumentError, 'injector and extractor must both be non-nil' if injector.nil? || extractor.nil?
  @injector = injector
  @extractor = extractor
end

def inject(carrier, context: Context.current, setter: Context::Propagation.text_map_setter)

Parameters:
  • setter (optional Setter) -- If the optional setter is provided, it
  • context (optional Context) -- Context to be injected into carrier. Defaults
  • carrier (Object) -- A mutable carrier to inject context into.
def inject(carrier, context: Context.current, setter: Context::Propagation.text_map_setter)
  @injector.inject(carrier, context, setter)
  nil
rescue StandardError => e
  OpenTelemetry.logger.warn "Error in Propagator#inject #{e.message}"
  nil
end