w3c / w3c/trace-context

Vendor information in the response from traced service

Open
#466 5 comments 3 reactions 1 assignee View on GitHub

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 traceresponsestate header, with a format similar to tracestate header. 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 to tracestate which is preserved for every down-stream call - up for a discussion

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.