-
Notifications
You must be signed in to change notification settings - Fork 19
Request log tracing #206
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
Request log tracing #206
Changes from all commits
72a26f0
65f3cf4
d015b35
68e1018
2d705c3
51d90b5
6b7b833
9fe7ece
8040762
f4557ef
f459a3c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| type: improvement | ||
| improvement: | ||
| description: Add originating span id to requests in order to enable request log | ||
| tracing | ||
| links: | ||
| - https://github.com/palantir/tracing-java/pull/206 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -22,4 +22,16 @@ public interface TraceHttpHeaders { | |
| String PARENT_SPAN_ID = "X-B3-ParentSpanId"; | ||
| String SPAN_ID = "X-B3-SpanId"; | ||
| String IS_SAMPLED = "X-B3-Sampled"; // Boolean (either “1” or “0”, can be absent) | ||
|
|
||
| /** | ||
| * Conceptually, a trace is a stack of spans. In implementation, this is actually many stacks, in many servers, | ||
| * where a server's stack will typically contain a single parent span from a different server at the bottom, | ||
| * and many spans of its own above it. | ||
| * | ||
| * By communicating this deepest span id with future network calls as an 'originating' span id, this enables | ||
| * network-level tracing to be enabled always in a low-fidelity form, with request logs containing enough | ||
| * information to reconstruct a request-level trace, even when the trace is not sampled. | ||
| * For server-internal tracing, the typical trace logs (with sampling) are still required. | ||
| */ | ||
| String ORIGINATING_SPAN_ID = "X-OrigSpanId"; | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could we also make sure this header name is mentioned in the README so it's vaguely googleable? This is an extra piece of information that we've made up that's not in ZipKin, so would be good to make sure it's super obvious!
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Capturing the naming discussion - "incoming span id" doesn't quite make sense for the first time this gets emitted as a header, because the first value sent was just made up inside the service.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this need to resemble a header? If we have the ability to push non-span parameters through all of the glue, it'd be nice if it were instead something like
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it is actually sent over the wire as a header, if that makes a difference?
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah gotcha - I was thinking this was just tracked separately on each server. |
||
| } | ||
Uh oh!
There was an error while loading. Please reload this page.