Vendor information in the response from traced service
Open
Nobody has claimed this yet.
trace-context-level-3
- Dominant language
- Python
- Stars
- 510
- Forks
- 80
- PR merge metrics
- No merged PRs in 30d
Description
Have you considered providing vendor information in a response from traced service in addition to traceresponse header (which provides information, that the call was traced, but without vendor information)?
This can be achieved by vendors adding proprietary headers, in addition to the traceresponse header.
However, having it standardized has a few benefits - the main being, having a standard way of detecting what kind of agent/vendor is generating trace events.
I believe this might be standardized similarly, to how this is done with the tracestate header for the traced Request.
Use-cases:
- determining if the outbound call was traced by the same agent/vendor
- for observability products - lit might be useful when linking other data to Trace (to ensure Trace is performed by the same vendor then log ingestion, or other check that might have generated HTTP call that triggered trace)
- more insight into the reason for the restarted trace (e.g., suggest that it was restarted by another vendor's agent seeing foreign trace)
Rough proposal:
- Re-use vendor codes defined in https://github.com/w3c/tracestate-ids-registry/blob/main/content/registry.md
- Add
traceresponsestateheader, with a format similar totracestateheader. However, the value might only relate to the last call (it doesn't need to be passed all the way back from the last service to the first caller) - simplification compared totracestatewhich is preserved for every down-stream call - up for a discussion
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.