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)
-
(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
-
(Array
- a list of fields that will be used by this propagator.)
def fields @injector.fields end
def initialize(injector, extractor)
-
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)
-
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