-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(tracing/core): sampled flags and propagation #10655
Conversation
141685a
to
2e52c02
Compare
2e52c02
to
8fb9a2c
Compare
8fb9a2c
to
d8428f4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a question after reviewing the code (though not related to the fix). If every node always inherits "should_sample", and none of the upstream nodes will ever send the trace, what's the point we propagate the tracing context via headers?
I think the answer is in here, for example: A component may also fall back to probability sampling and set the sampled flag to 1 for the subset of requests.. In other words we don't know whether upstream will use |
fix an issue where incoming propagation headers with disabled sampling produced invalid propagation of noop spans and broken traces This fix: * ensures propagation is not attempted on noop spans * ensures no span is sampled when sampling is disabled in the incoming headers * propagates the correct header in when sampling is disabled in the incoming headers
d8428f4
to
968de12
Compare
Summary
fix an issue where incoming propagation headers with disabled sampling (sampled flag = 0) produced invalid propagation of noop spans and broken traces
This fix:
Checklist
Full changelog
Issue reference
https://konghq.atlassian.net/browse/KAG-1184
https://konghq.atlassian.net/browse/KAG-1176