-
Notifications
You must be signed in to change notification settings - Fork 79
Please clarify tracestate purpose #264
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
Comments
Baggage is the provenance of the application developer. Tracestate is only changed by the tracing library, not the application. Mutability is irrelevant in this case (all headers are mutable as they pass through the application). |
--- Just edited this comment. @yurishkuro Thanks for the clarification. The issue I'm working has downstream systems (using the same tracer library) wanting to make sampling decisions based on upstream callers (using the same tracing library) to throttle their sampling rate to avoid load issues. I can accomplish this through analyzing headers, but even better, can optimize by looking for and adjusting sampling based on an expected system-id. Better yet, I could leverage an existing header to place this id into rather than add another header. Since this would be a requirement of all participating tracer instances, I started looking at decorating the tracestate with this id. In your opinion, is this an abuse of tracestate? I want a conventional way to distinguish service affiliation with system instances throughout the enterprise. |
This is an interesting question and has to do with your role.
|
@falenn please close the issue if you found your answer =). |
Thank you for the clarification. @SergeyKanzhelev, thanks for the label. |
@falenn as @yurishkuro said - your use of |
@SergeyKanzhelev - this is what I'm looking for https://github.com/w3c/correlation-context/tree/master/correlation_context - This would allow a downstream system instance identifying information of the upstream system to perform throttling without overloading the essence of tracestate, particularly when both instances are of the same vendor. |
I would like to add custom tracking info to tracestate, however, I'm afraid this would violate the intent of the spec.
https://github.com/w3c/trace-context/blob/master/spec/20-http_header_format.md communicates to me that tracestate is traceparent provenance in native tracer system format.
https://github.com/w3c/trace-context/blob/fa851a7b31858c7e67ed2fbedcbc43a5447673f6/spec/30-processing-model.md communicates to me that tracestate is mutable. Not only are the entry positions mutable, in the sense that a new tracer format is inserted at the front of the entry list, but the comment:
makes it sound like tracestate is baggage. I'm confused. Can you please clarify?
Thanks!
The text was updated successfully, but these errors were encountered: