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
Tracing for passthrough requests (CDN use case) #278
Comments
In your example CDN has many components between If so - we've discussed this scenario. You can restart the Also see this section of rationale: https://github.com/w3c/trace-context/blob/master/spec/21-http_header_format_rationale.md#restarting-trace Is it something that would work for your scenario? |
I also filed https://github.com/w3c/trace-context/issues/279 as we lost explanation of multi-graph identity that |
The problem with stacking trace state is that there's no easy way to see where the boundaries are:
In all of those cases trace information for both internal and external trace has to be preserved to be able to stitch whole trace together. There's no easy way for a CDN to tell if an origin (aka upstream) is its own service or a third party service, and the decision whether to pop a trace state stack depends on this very fact. Clients also need to signify that they are somehow a part of a "secure network". I'll read through the spec and removed parts from #259 again to see if I missed a clear way of how this should be done. |
With the requirements you listed - there is hardly a way to implement what you want. Spec allows to do as much as you'd do with alternative headers as Let us know if you have more questions. Also if you want to discuss them in realtime, join the next W3C call to discuss your scenario. |
Imagine a reverse proxy / CDN company wants to implement tracing. This CDN company also has customers that control clients and origins that may want to implement tracing themself:
Current design assumes that CDN is supposed to trust trace information passed from the client. This may not be the best course of action for a few reasons:
One possible solution for this is for the CDN company to:
This is not exactly possible when the spec defines just one set of header names to use by any involved party. Keep in mind that CDN is likely to have lots of components that cannot be all changed at the same time (and some may never be instrumented).
I would like to see this scenario addressed in the spec.
The text was updated successfully, but these errors were encountered: