Class: OpenTelemetry::Propagator::OTTrace::TextMapInjector

Inherits:
Object
  • Object
show all
Defined in:
lib/opentelemetry/propagator/ottrace/text_map_injector.rb

Overview

Injects context into carriers using the OTTrace format

Constant Summary collapse

TRACE_ID_64_BIT_WIDTH =
64 / 4

Instance Method Summary collapse

Constructor Details

#initialize(default_setter: Context::Propagation.text_map_setter) ⇒ TextMapInjector

Returns a new TextMapInjector that injects context using the specified setter

Parameters:

  • default_setter (optional Setter) (defaults to: Context::Propagation.text_map_setter)

    The default setter used to write context into a carrier during inject. Defaults to a Context:Propagation::TextMapSetter instance.



28
29
30
# File 'lib/opentelemetry/propagator/ottrace/text_map_injector.rb', line 28

def initialize(default_setter: Context::Propagation.text_map_setter)
  @default_setter = default_setter
end

Instance Method Details

#inject(carrier, context, setter = nil) ⇒ Object

Parameters:

  • carrier (Object)

    to update with context.

  • context (Context)

    The active Context.

  • setter (optional Setter) (defaults to: nil)

    If the optional setter is provided, it will be used to write context into the carrier, otherwise the default setter will be used.



37
38
39
40
41
42
43
44
45
46
# File 'lib/opentelemetry/propagator/ottrace/text_map_injector.rb', line 37

def inject(carrier, context, setter = nil)
  setter ||= default_setter
  span_context = Trace.current_span(context).context
  return unless span_context.valid?

  inject_span_context(span_context: span_context, carrier: carrier, setter: setter)
  inject_baggage(context: context, carrier: carrier, setter: setter)

  nil
end