Class: OpenTelemetry::Trace::Propagation::TraceContext::TextMapInjector
- Inherits:
-
Object
- Object
- OpenTelemetry::Trace::Propagation::TraceContext::TextMapInjector
- Includes:
- Context::Propagation::DefaultSetter
- Defined in:
- lib/opentelemetry/trace/propagation/trace_context/text_map_injector.rb
Overview
Injects context into carriers using the W3C Trace Context format
Instance Method Summary collapse
-
#initialize(traceparent_key: 'traceparent', tracestate_key: 'tracestate') ⇒ TextMapInjector
constructor
Returns a new TextMapInjector that injects context using the specified header keys.
-
#inject(carrier, context, &setter) {|Carrier, String, String| ... } ⇒ Object
Set the span context on the supplied carrier.
Methods included from Context::Propagation::DefaultSetter
Constructor Details
#initialize(traceparent_key: 'traceparent', tracestate_key: 'tracestate') ⇒ TextMapInjector
Returns a new TextMapInjector that injects context using the specified header keys
20 21 22 23 24 |
# File 'lib/opentelemetry/trace/propagation/trace_context/text_map_injector.rb', line 20 def initialize(traceparent_key: 'traceparent', tracestate_key: 'tracestate') @traceparent_key = traceparent_key @tracestate_key = tracestate_key end |
Instance Method Details
#inject(carrier, context, &setter) {|Carrier, String, String| ... } ⇒ Object
Set the span context on the supplied carrier.
35 36 37 38 39 40 41 42 43 |
# File 'lib/opentelemetry/trace/propagation/trace_context/text_map_injector.rb', line 35 def inject(carrier, context, &setter) return carrier unless (span_context = span_context_from(context)) setter ||= DEFAULT_SETTER setter.call(carrier, @traceparent_key, TraceParent.from_span_context(span_context).to_s) setter.call(carrier, @tracestate_key, span_context.tracestate.to_s) unless span_context.tracestate.empty? carrier end |