class Jaeger::Extractors::JaegerTextMapCodec

Public Class Methods

extract(carrier) click to toggle source
# File lib/jaeger/extractors.rb, line 27
def self.extract(carrier)
  context = SerializedJaegerTrace.parse(carrier['uber-trace-id'])
  return nil unless context

  carrier.each do |key, value|
    baggage_match = key.match(/\Auberctx-([\w-]+)\Z/)
    if baggage_match
      context.set_baggage_item(baggage_match[1], value)
    end
  end

  context
end