Skip to content
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

Create first draft of the use cases document #425

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions response-headers-usecases.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Use Cases for response Headers

The [Response Header Specification](https://github.com/w3c/trace-context/blob/master/spec/21-http_response_header_format.md) defines the format for response headers.

As response headers solve (largely) different use cases, this doc aims to collect them and also address possible implications, like privacy issues.

This document is a loose, unordered and ongoing collection.

## Usecase 1: Report the proposed parent ID back to the caller

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While it is good you describe use cases for such things I believe those should be self described. For example, why some systems can't create a trace ID and span ID, why the caller would need a parent ID? Does the parent ID is enough info without the trace ID?

Use case as it is feels like describing the what and not the why.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This topic has been well discussed and is niche at best. It doesn't deserve the "usecase 1" if anything "honorable mention"

Returning trace IDs is far more frequent for putting traces together without this odd notion of "proposed parent ID". Maybe you can put more routine things here by looking at the issues leading up to this or asking users.

For example, this issue from over 4 years ago catalogs some ideas with real people who were interested openzipkin/b3-propagation#4


Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is another use case - Currently some of the Azure Control Plane APIs return Correlation Id as part of the response header which can then be used by the customer on reporting an issue or contacting us. We would like to have teams transition to using the standard W3C trace content and returning this as standard response header. Having the trace context in the form of the traceresponse header would make this easy for customers and enable us to pinpoint issues.

A system, like a browser, can not create a trace ID and span ID.
The callee could generate the parent ID and then send it back to the caller via response header.
This parent ID would represent the parent of the spans created by the callee.