Skip to content

Simplify usage of distributed tracing on by default in ASP.NET Core and HttpClient #4498

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

Closed
davidfowl opened this issue Dec 7, 2018 · 7 comments
Labels
accepted This issue has completed "acceptance" testing (including accessibility) area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions Needs: Design This issue requires design work before implementating.

Comments

@davidfowl
Copy link
Member

davidfowl commented Dec 7, 2018

Epic: #8924

Today ASP.NET Core and HttpClient can be configured to flow a hierarchical request id throughout the stack (incoming and outgoing). Doing this properly is fragile and not very approachable. The goal of this issue is to make that turn key and on by default.

@davidfowl davidfowl self-assigned this Dec 7, 2018
@davidfowl davidfowl added the Needs: Design This issue requires design work before implementating. label Dec 7, 2018
@davidfowl davidfowl added this to the 3.0.0 milestone Dec 7, 2018
@riha
Copy link

riha commented Dec 19, 2018

As I understand it HttpClient will today always create a new Request-Id and not take account any existing values in the Request-Id header. Correct?

You however mention that HttpClient can be configured to flow a Request-Id. Is there any examples of how this can be done? Hard to get good end-to-end dependency logging in Applicantion Insights without it.

@davidfowl
Copy link
Member Author

As I understand it HttpClient will today always create a new Request-Id and not take account any existing values in the Request-Id header. Correct?

Not quite. Nothing flows by default for performance reasons. There are several pieces that need to be turned on today to get the end to end experience we're trying to build.

You however mention that HttpClient can be configured to flow a Request-Id. Is there any examples of how this can be done? Hard to get good end-to-end dependency logging in Applicantion Insights without it.

Yes the code is buried in application insights but this issue is about designing an end to end that works without it.

@RemiBou
Copy link
Contributor

RemiBou commented Dec 20, 2018

Could this work also include connection with non http dependencies ? (SQL, Redis ...)

@davidfowl davidfowl modified the milestones: 3.0.0, 3.0.0-preview3 Jan 23, 2019
@davidfowl
Copy link
Member Author

Moving this to preview4

@analogrelay
Copy link
Contributor

Triage decision: This is part of the distributed tracing work we're looking at.

@vpaulino
Copy link

What is the best way to share ideias regarding the design ? If I have some UML diagrams i could share it here ? some documents supporting the ideias ?

@davidfowl
Copy link
Member Author

The HttpClient work will be moved to corefx. The epic will be used to track the remaining work.

@analogrelay analogrelay added the accepted This issue has completed "acceptance" testing (including accessibility) label May 3, 2019
@ghost ghost locked as resolved and limited conversation to collaborators Dec 3, 2019
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Aug 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accepted This issue has completed "acceptance" testing (including accessibility) area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions Needs: Design This issue requires design work before implementating.
Projects
None yet
Development

No branches or pull requests

6 participants