-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Closed
Labels
api-ready-for-reviewAPI is ready for review, it is NOT ready for implementationAPI is ready for review, it is NOT ready for implementationarea-System.Diagnostics.Activity
Milestone
Description
Description
Because the ActivitySource doesn't expose the IdFormat in any way it's impossible to set the value before the new activity is started. The format is inferred from the global setting or the parent if it exists but if there is no parent and the global setting is hierarchical it's impossible to start a W3C root activity.
Regression?
Regression from the previous pattern, it was possible to set Activity.IdFormat using Activity.SetIdFormat before calling DiagnosticSource.StartActivity
The proposal is added by @tarekgh
Proposal
In 6.0 we already added an overload for ActivitySource.StartActivity. The proposal here is just adding the idFormat as optional parameter to that overload.
namespace System.Diagnostics
{
public sealed class ActivitySource : IDisposable
{
public Activity? StartActivity(
ActivityKind kind,
ActivityContext parentContext = default,
IEnumerable<KeyValuePair<string, object?>>? tags = null,
IEnumerable<ActivityLink>? links = null,
+ ActivityIdFormat idFormat = ActivityIdFormat.Unknown,
DateTimeOffset startTime = default,
[CallerMemberName] string name = "");
}
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
api-ready-for-reviewAPI is ready for review, it is NOT ready for implementationAPI is ready for review, it is NOT ready for implementationarea-System.Diagnostics.Activity