-
Notifications
You must be signed in to change notification settings - Fork 76
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
Refactor spec towards trace-parent and trace-state #57
Comments
Glad we make the progress. |
Thinking more about |
I think the context could be in response, but the name shouldn't be |
OK let's keep/move this part to #50? we don't yet support response anyway,
so when we do 50, we can change the name etc.
|
Merged
codefromthecrypt
pushed a commit
that referenced
this issue
Feb 27, 2018
The following is an "all-in-one" change to capture the essence of changes described since the February workshop. Notably, this includes: * lowercase concatenation naming convention (ex `traceparent`) * applied description of the multiple trace states As the two headers are tightly coupled, this places them in the same document. This is done as one change as there is pressure for folks to do implementations and so far very few changes have actually taken place. By spiking a review to integrate feedback, we are more likely to have interoperable implementations without accidentally implementing old versions of the standard. Please take this practical concern into consideration when reviewing. Fixes #57
AloisReitbauer
pushed a commit
that referenced
this issue
Mar 12, 2018
* Reorganizes content to reflect decisions made since last workshop The following is an "all-in-one" change to capture the essence of changes described since the February workshop. Notably, this includes: * lowercase concatenation naming convention (ex `traceparent`) * applied description of the multiple trace states As the two headers are tightly coupled, this places them in the same document. This is done as one change as there is pressure for folks to do implementations and so far very few changes have actually taken place. By spiking a review to integrate feedback, we are more likely to have interoperable implementations without accidentally implementing old versions of the standard. Please take this practical concern into consideration when reviewing. Fixes #57 * Weaves in feedback
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
During the last workshop, we discussed the role of the two headers somewhat differently than before
trace-parent
andtrace-state
are the headers defined in the trace context specification, these replacetrace-context
andtrace-context-ext
respectively. The major point here is that we understand there will be multiple trace graphs possible related to an incoming request. For example, an api gateway from amazon and zipkin. In brief, the new names clarify the portable format describes the incoming request, and the second header is not an extension of it.MVP @erabug for giving us the push from the cryptic name
trace-context-ext
->trace-state
trace-parent
(formerly known as trace-context) describes the position of the incoming request in its trace graph, in a portable formattrace-state
includes a mapping of all graphs the incoming parent is a part of in potentially vendor-specific formats. For example, if an ancestor of this request was in a different trace, there would be a separate entry for the last position it was in that trace graphThe trace-state section is not reliant on data on the trace-parent, except if the parent has no data beyond trace-context format. For example, the below hints that there is only one trace graph and that's amazon's
The trace-state section is not an extension of the data in trace-parent, rather it is the gold copy per vendor.
Please don't get caught up on the label "aws" or the base 64 encoding. The above example isn't realistic in either case as we don't know the label or encoding AWS will use. Suffice to say this demonstrates the values are different!
In the case that the incoming trace is in generic format, the value of trace-state can be left out. This can help with header compression while still allowing branding, tenant, or otherwise custom labels to be used. These labels can help differentiate different systems that use the same format
The above is shorthand for
but better for http compression and performance in general
While I mentioned some details, in order to keep this issue focused on the rename part, it is intentionally not covering other parts of the state model. These can be opened later, for example elaborating what happens hop-to-hop. This issue should be closed out with a rename and a corrected description of the two headers.
The text was updated successfully, but these errors were encountered: