-
Notifications
You must be signed in to change notification settings - Fork 897
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
Add span links for HTTP retries and redirects #2393
Add span links for HTTP retries and redirects #2393
Conversation
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
This reverts commit 05bcac7.
--- server (SERVER, trace=t1, span=s7) | ||
``` | ||
|
||
Example of retries with no trace started upfront: |
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.
When there is no incoming trace, or existing trace around the retry calls, how does a retry request reference back to the previous span?
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.
This is a new model which was not initially thought about to use links to connect "siblings" in case of a possible "no parent present".
I would like to discuss/document/agree on:
- What is the instrumentation strategy that we use? Do we write a "defensive" instrumentation? Means that we over "connect" spans for the possible case when a parent "trace" does not exists?
- Personal opinion is to not start this path.
- Do we need to document the relationship between the "linked" spans?
- This is very interesting use-case and has implications to the API, and also to the "time overlap" between the "linked" spans and their siblings or children, see the Allow adding links after span creation #2278 PR.
I feel all these questions need to be discussed/documented before this PR and #2278 can be merged.
This PR was marked stale due to lack of activity. It will be closed in 7 days. |
Closed as inactive. Feel free to reopen if this PR is still being worked on. |
Changes
This PR brings back the part that was temporary excluded from #2078 for semantic conventions for HTTP retries and redirects and defines a linking of corresponding spans. The corresponding discussion is here: #2078 (comment).
Usage of span links makes it possible to correlate spans created within retries or redirects scenarios. For example, in this scenario with HTTP request being made to same set of backends from several threads
the only way to understand the relationship between spans (so, to reconstruct the trace) is to use links:
This change addresses a scenario which is in the scope for bringing the existing HTTP semantic conventions for tracing to an initial stable state, see related otep #174.
Related: #2278
/cc @bogdandrutu, @tedsuo, @open-telemetry/specs-trace-approvers