lib/instana/instrumentation/instrumented_request.rb in instana-1.207.0 vs lib/instana/instrumentation/instrumented_request.rb in instana-1.208.0

- old
+ new

@@ -128,10 +128,11 @@ def context_from_trace_parent return {} unless @env.has_key?('HTTP_TRACEPARENT') matches = @env['HTTP_TRACEPARENT'].match(W3_TRACE_PARENT_FORMAT) return {} unless matches + return {} if matches_is_invalid(matches) trace_id = ::Instana::Util.header_to_id(matches['trace'][16..-1]) # rubocop:disable Style/SlicingWithRange, Lint/RedundantCopDisableDirective span_id = ::Instana::Util.header_to_id(matches['parent']) { @@ -139,9 +140,13 @@ external_state: @env['HTTP_TRACESTATE'], trace_id: trace_id, span_id: span_id, from_w3: true } + end + + def matches_is_invalid(matches) + matches['trace'].match(/\A0+\z/) || matches['parent'].match(/\A0+\z/) end def context_from_trace_state state = parse_trace_state