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

Allow pluggable Propagators for AspNetCore #28642

Closed
cijothomas opened this issue Dec 14, 2020 · 6 comments
Closed

Allow pluggable Propagators for AspNetCore #28642

cijothomas opened this issue Dec 14, 2020 · 6 comments
Labels
area-hosting Includes Hosting area-middleware Includes: URL rewrite, redirect, response cache/compression, session, and other general middlesware blocked The work on this issue is blocked due to some dependency feature-diagnostics Diagnostic middleware and pages (except EF diagnostics)
Milestone

Comments

@cijothomas
Copy link

cijothomas commented Dec 14, 2020

Is your feature request related to a problem? Yes.

The issue is with the context propagation logic embedded within Asp.Net Core, HttpClient libraries. These libraries have a hard-coded propagation logic embedded inside them, which follows the W3CTraceContext protocol. However, this makes it hard for users who use non W3CTraceContext, as there is no way to "swap" the W3CTraceContext with something else.

Describe the solution you'd like

Let DiagnosticSource package expose a new Propagators API, ideally, in compliance with the OpenTelemetry specification for Propagators.. Here is the issue opened in runtime to track this - dotnet/runtime#46054
Once this API is exposed by the runtime, modify AspNetCore (and HttpClient) to simply use these new Propagators API. The default Propagator can be the W3CTraceContext one itself, to ensure backward compatibility. But users can swap it with any custom propagators they chose.

Additional context

Related issue: #27237
Runtime issue: dotnet/runtime#46054

@cijothomas
Copy link
Author

cijothomas commented Dec 14, 2020

@noahfalk @tarekgh @shirhatti

@alanwest @CodeBlanch from OpenTelemetry .NET group

@cijothomas
Copy link
Author

@reyang

@mkArtakMSFT mkArtakMSFT added feature-platform Deprecated: Cross-cutting issues related to ASP.NET Core as a platform feature-diagnostics Diagnostic middleware and pages (except EF diagnostics) labels Dec 14, 2020
@tarekgh
Copy link
Member

tarekgh commented Dec 14, 2020

@cijothomas I think this will need to open another issue in the runtime repo and list there the complete proposal according the doc https://github.com/dotnet/runtime/blob/master/docs/project/api-review-process.md. you can then link this issue to the new one.

@cijothomas
Copy link
Author

Thanks. Will open related issue in runtime repo as well!

@cijothomas cijothomas changed the title Expose Context Propagators in DiagnosticSource package Allow pluggable Propagators for AspNetCore Dec 14, 2020
@wtgodbe wtgodbe added area-servers feature-httpclientfactory Includes: HttpClientFactory (some bugs also in Extensions repo) and removed feature-platform Deprecated: Cross-cutting issues related to ASP.NET Core as a platform area-servers labels Dec 23, 2020
@BrennanConroy BrennanConroy added area-hosting blocked The work on this issue is blocked due to some dependency and removed feature-httpclientfactory Includes: HttpClientFactory (some bugs also in Extensions repo) labels Dec 28, 2020
@BrennanConroy BrennanConroy added this to the Next sprint planning milestone Dec 28, 2020
@ghost
Copy link

ghost commented Dec 28, 2020

Thanks for contacting us.
We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. We will evaluate the request when we are planning the work for the next milestone. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

@shirhatti
Copy link
Contributor

This was completed by #33777

@ghost ghost locked as resolved and limited conversation to collaborators Sep 15, 2021
@amcasey amcasey added area-hosting Includes Hosting area-middleware Includes: URL rewrite, redirect, response cache/compression, session, and other general middlesware and removed area-runtime labels Jun 1, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-hosting Includes Hosting area-middleware Includes: URL rewrite, redirect, response cache/compression, session, and other general middlesware blocked The work on this issue is blocked due to some dependency feature-diagnostics Diagnostic middleware and pages (except EF diagnostics)
Projects
None yet
Development

No branches or pull requests

8 participants