class ElasticAPM::TraceContext::Traceparent
def self.parse(header)
def self.parse(header) raise_invalid(header) unless header.length == 55 raise_invalid(header) unless header[0..1] == VERSION new.tap do |t| t.version, t.trace_id, t.parent_id, t.flags = header.split('-').tap do |values| values[-1] = Util.hex_to_bits(values[-1]) end raise_invalid(header) if NON_HEX_REGEX.match?(t.trace_id) raise_invalid(header) if NON_HEX_REGEX.match?(t.parent_id) end end