module Honeycomb::AWSPropagation::UnmarshalTraceContext
Parse trace headers
Public Class Methods
get_fields(fields)
click to toggle source
# File lib/honeycomb/propagation/aws.rb, line 27 def get_fields(fields) trace_id, parent_span_id = nil trace_fields = {} fields.each do |entry| key, value = entry.split("=", 2) case key.downcase when "root" trace_id = value when "self" parent_span_id = value when "parent" parent_span_id = value if parent_span_id.nil? else trace_fields[key] = value unless key.empty? end end [trace_id, parent_span_id, trace_fields] end
parse(serialized_trace)
click to toggle source
# File lib/honeycomb/propagation/aws.rb, line 8 def parse(serialized_trace) unless serialized_trace.nil? split = serialized_trace.split(";") trace_id, parent_span_id, trace_fields = get_fields(split) parent_span_id = trace_id if parent_span_id.nil? trace_fields = nil if trace_fields.empty? if !trace_id.nil? && !parent_span_id.nil? # return nil for dataset return [trace_id, parent_span_id, trace_fields, nil] end end [nil, nil, nil, nil] end
Public Instance Methods
parse(serialized_trace)
click to toggle source
# File lib/honeycomb/propagation/aws.rb, line 8 def parse(serialized_trace) unless serialized_trace.nil? split = serialized_trace.split(";") trace_id, parent_span_id, trace_fields = get_fields(split) parent_span_id = trace_id if parent_span_id.nil? trace_fields = nil if trace_fields.empty? if !trace_id.nil? && !parent_span_id.nil? # return nil for dataset return [trace_id, parent_span_id, trace_fields, nil] end end [nil, nil, nil, nil] end
Private Instance Methods
get_fields(fields)
click to toggle source
# File lib/honeycomb/propagation/aws.rb, line 27 def get_fields(fields) trace_id, parent_span_id = nil trace_fields = {} fields.each do |entry| key, value = entry.split("=", 2) case key.downcase when "root" trace_id = value when "self" parent_span_id = value when "parent" parent_span_id = value if parent_span_id.nil? else trace_fields[key] = value unless key.empty? end end [trace_id, parent_span_id, trace_fields] end