class Jaeger::Extractors::SerializedJaegerTrace
Public Class Methods
parse(trace)
click to toggle source
# File lib/jaeger/extractors.rb, line 6 def self.parse(trace) return nil if !trace || trace == '' trace_arguments = trace.split(':') return nil if trace_arguments.size != 4 trace_id = TraceId.base16_hex_id_to_uint128(trace_arguments[0]) span_id, parent_id, flags = trace_arguments[1..3].map(&TraceId.method(:base16_hex_id_to_uint64)) return nil if trace_id.zero? || span_id.zero? SpanContext.new( trace_id: trace_id, parent_id: parent_id, span_id: span_id, flags: flags ) end