Class: OpenTelemetry::Context::Propagation::Propagator
- Inherits:
-
Object
- Object
- OpenTelemetry::Context::Propagation::Propagator
- Defined in:
- lib/opentelemetry/context/propagation/propagator.rb
Overview
A propagator composes an extractor and injector into a single interface exposing inject and extract methods
Instance Method Summary collapse
-
#extract(carrier, context = Context.current, &getter) ⇒ Context
Extracts and returns context from a carrier.
-
#initialize(injector, extractor) ⇒ Propagator
constructor
Returns a Propagator that delegates inject and extract to the provided injector and extractor.
-
#inject(carrier, context = Context.current, &setter) ⇒ Object
Returns a carrier with the provided context injected according the underlying injector.
Constructor Details
#initialize(injector, extractor) ⇒ Propagator
Returns a Propagator that delegates inject and extract to the provided injector and extractor
18 19 20 21 |
# File 'lib/opentelemetry/context/propagation/propagator.rb', line 18 def initialize(injector, extractor) @injector = injector @extractor = extractor end |
Instance Method Details
#extract(carrier, context = Context.current, &getter) ⇒ Context
Extracts and returns context from a carrier. Returns the provided context and logs a warning if an error if extraction fails.
55 56 57 58 59 60 |
# File 'lib/opentelemetry/context/propagation/propagator.rb', line 55 def extract(carrier, context = Context.current, &getter) @extractor.extract(carrier, context, &getter) rescue => e # rubocop:disable Style/RescueStandardError OpenTelemetry.logger.warn "Error in Propagator#extract #{e.}" context end |
#inject(carrier, context = Context.current, &setter) ⇒ Object
Returns a carrier with the provided context injected according the underlying injector. Returns the carrier and logs a warning if injection fails.
36 37 38 39 40 41 |
# File 'lib/opentelemetry/context/propagation/propagator.rb', line 36 def inject(carrier, context = Context.current, &setter) @injector.inject(carrier, context, &setter) rescue => e # rubocop:disable Style/RescueStandardError OpenTelemetry.logger.warn "Error in Propagator#inject #{e.}" carrier end |