module Honeycomb::HoneycombPropagation::MarshalTraceContext
Serialize trace headers
Public Class Methods
parse_faraday_env(_env, propagation_context)
click to toggle source
# File lib/honeycomb/propagation/honeycomb.rb, line 75 def self.parse_faraday_env(_env, propagation_context) { "X-Honeycomb-Trace" => to_trace_header(propagation_context), } end
to_trace_header(propagation_context)
click to toggle source
# File lib/honeycomb/propagation/honeycomb.rb, line 81 def self.to_trace_header(propagation_context) fields = propagation_context.trace_fields context = Base64.urlsafe_encode64(JSON.generate(fields)).strip dataset = propagation_context.dataset encoded_dataset = URI.encode_www_form_component(dataset) data_to_propogate = [ "dataset=#{encoded_dataset}", "trace_id=#{propagation_context.trace_id}", "parent_id=#{propagation_context.parent_id}", "context=#{context}", ] "1;#{data_to_propogate.join(',')}" end
Public Instance Methods
to_trace_header()
click to toggle source
# File lib/honeycomb/propagation/honeycomb.rb, line 63 def to_trace_header context = Base64.urlsafe_encode64(JSON.generate(trace.fields)).strip encoded_dataset = URI.encode_www_form_component(builder.dataset) data_to_propogate = [ "dataset=#{encoded_dataset}", "trace_id=#{trace.id}", "parent_id=#{id}", "context=#{context}", ] "1;#{data_to_propogate.join(',')}" end