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

Introduce Propagators API in DiagnosticSource package #46054

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

Introduce Propagators API in DiagnosticSource package #46054

cijothomas opened this issue Dec 14, 2020 · 2 comments
Labels
api-suggestion Early API idea and discussion, it is NOT ready for implementation area-System.Diagnostics.Tracing feature-request
Milestone

Comments

@cijothomas
Copy link
Contributor

Background and Motivation

DiagnosticSource package was enhanced in 5.0 to achieve OpenTelemetry Tracing API scenarios. There were few areas which were required in OpenTelemetry API, but was not included in 5.0, due to timing issues/OpenTelemetry spec not being ready before .NET 5 cut off time. One of the key missing pieces is the Propagators API. A propagator API allows libraries to inject and/or extract distributed tracing context when leaving process boundaries.

This API would be used by libraries such as Asp.Net Core, HttpClient, to extract/inject context from/to the next hop in a distributed trace. Currently, these libraries have a hard-coded propagators (following W3CTraceContext), baked into the library itself. This causes issues, when the end user want to use a non W3CTraceContext propagator. There is an issue opened in AspNetCore repo to allow pluggable propagators, but to make it happen, an API must be exposed by the runtime itself. (dotnet/aspnetcore#28642)

Proposed API

The proposal is to expose an API, which matches the OpenTelemetry specification for Propagators..

Alternative Designs

Risks

@cijothomas cijothomas added the api-suggestion Early API idea and discussion, it is NOT ready for implementation label Dec 14, 2020
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added area-System.Diagnostics.Tracing untriaged New issue has not been triaged by the area owner labels Dec 14, 2020
@ghost
Copy link

ghost commented Dec 14, 2020

Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti
See info in area-owners.md if you want to be subscribed.

Issue Details

Background and Motivation

DiagnosticSource package was enhanced in 5.0 to achieve OpenTelemetry Tracing API scenarios. There were few areas which were required in OpenTelemetry API, but was not included in 5.0, due to timing issues/OpenTelemetry spec not being ready before .NET 5 cut off time. One of the key missing pieces is the Propagators API. A propagator API allows libraries to inject and/or extract distributed tracing context when leaving process boundaries.

This API would be used by libraries such as Asp.Net Core, HttpClient, to extract/inject context from/to the next hop in a distributed trace. Currently, these libraries have a hard-coded propagators (following W3CTraceContext), baked into the library itself. This causes issues, when the end user want to use a non W3CTraceContext propagator. There is an issue opened in AspNetCore repo to allow pluggable propagators, but to make it happen, an API must be exposed by the runtime itself. (dotnet/aspnetcore#28642)

Proposed API

The proposal is to expose an API, which matches the OpenTelemetry specification for Propagators..

Alternative Designs

Risks

Author: cijothomas
Assignees: -
Labels:

api-suggestion, area-System.Diagnostics.Tracing, untriaged

Milestone: -

@tarekgh tarekgh removed the untriaged New issue has not been triaged by the area owner label Dec 14, 2020
@tarekgh tarekgh added this to the 6.0.0 milestone Dec 14, 2020
@noahfalk noahfalk added User Story A single user-facing feature. Can be grouped under an epic. feature-request and removed User Story A single user-facing feature. Can be grouped under an epic. labels Jan 12, 2021
@tommcdon tommcdon modified the milestones: 6.0.0, 7.0.0 Jun 16, 2021
@MihaZupan
Copy link
Member

Should this be closed as a dupe of #50658?

@tarekgh tarekgh closed this as completed Aug 3, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Sep 2, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
api-suggestion Early API idea and discussion, it is NOT ready for implementation area-System.Diagnostics.Tracing feature-request
Projects
None yet
Development

No branches or pull requests

6 participants