fix(tracer): Baggage extraction#3597
Merged
Merged
Conversation
…anCtx with just baggage info in the case that baggage is the only tracing header avail in the request headers. Also, only use parent span and trace ID inside of spanStart method if these are non-empty / nonzero
BenchmarksBenchmark execution time: 2025-06-19 07:01:22 Comparing candidate commit cd1f592 in PR branch Found 0 performance improvements and 1 performance regressions! Performance is the same for 2 metrics, 0 unstable metrics. scenario:BenchmarkSetTagStringer-24
|
…inue trace from context
darccio
approved these changes
Jun 13, 2025
Co-authored-by: Dario Castañé <[email protected]>
kakkoyun
approved these changes
Jun 16, 2025
kakkoyun
reviewed
Jun 16, 2025
kakkoyun
left a comment
Member
There was a problem hiding this comment.
We agreed on this as a short-term mitigation. We will come up with longer-term solution.
mtoffl01
enabled auto-merge (squash)
June 18, 2025 13:44
mtoffl01
disabled auto-merge
June 18, 2025 15:24
genesor
pushed a commit
that referenced
this pull request
Jun 19, 2025
Co-authored-by: Rachel Yang <[email protected]> Co-authored-by: Dario Castañé <[email protected]>
This was referenced Jun 25, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Modifies the
chainedPropagator.Extractmethod to store baggage in memory until another trace context is extracted. If no other trace context is extracted, then a dummy SpanContext with the baggage is returned. The returned SpanContext has new fieldonlyBaggageset to true. The returned span context is used as the parentSpanContext. When the child span is generated, it uses the SpanContext's trace context (that is: trace ID, span ID, sampling priority, and more) only ifonlyBaggageis false. IfonlyBaggageis false, a new trace is begun.Motivation
The baggage propagator introduced in v1.73.0 broke trace extraction and trace injection in the case that the baggage propagator was the first propagator to run.
Reviewer's Checklist
golangci-lint runlocally.Unsure? Have a question? Request a review!