Skip to content
This repository has been archived by the owner on Dec 6, 2024. It is now read-only.

Support per-Tracer configuration through Tracer Provider #186

Closed

Conversation

tsloughter
Copy link
Member

Support setting configuration (Sampler, IdGenerator, Span Limits, etc) on individual Tracers that overrides the shared configuration provided by the Tracer Provider.

@tsloughter tsloughter requested a review from a team November 10, 2021 23:42
@@ -0,0 +1,124 @@
# Per Tracer Configuration

Support setting configuration (Sampler, IdGenerator, Span Limits, etc) on
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you give an exhaustive list of configuration to be shared? Or is it any kind of configuration, including processors exporters, and resources?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is any configuration. But I don't believe that includes the resource? The resource is part of the Provider but it isn't a configuration value passed by the user when building a Provider, right?

I used etc because it should cover any future additional configuration added to the Tracer Provider.

I left out explicitly including Span Processors because it is a bit of a pain point I cover later in the OTEP, but I could add it back to the list just to be complete.

And the Exporter is configured as part of the Processor so it is based on if those are configurable or not.

Comment on lines +74 to +76
configurations. Most existing implementations do not offer the
capability of creating multiple Tracer Providers and may essentially prohibit
it. Allowing configuration to be done through the Tracer Provider based on the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this true? I don't recall anything in the spec that would lead to implementations that are incapable of supporting multiple tracer providers. While multiple providers do present the issue noted below WRT sharing exporters, I think that any problem caused by sharing exporters can be solved without new specification (i.e., treated as implementation details).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There isn't anything in the spec that would necessarily lead to it. Some, like Java, support multiple providers only through having multiple SDKs.

I don't think leaving how exporters are shared up to each implementation would be a nice user experience, and definitely not lead to consistent support.

@tedsuo
Copy link
Contributor

tedsuo commented Jan 30, 2023

Closed at @tsloughter's request :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants