-
Notifications
You must be signed in to change notification settings - Fork 773
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
Support exemplars in Metrics #2527
Comments
Have reviewed this in detail, and concluded the changes are non-trivial, and will not be part of 1.4.0 (Nov 2022) release. We expect to add beta support for this, shortly after 1.4.0 has shipped, with the goal of making it stable by 1.5.0 (no ETA for stable yet, but 3-4 months after 1.4.0) |
Update: E2E Example/Demo - https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/docs/metrics/exemplars Basic implementation only, more coming in then next few weeks. |
Removing from 1.7.0 milestone. The spec is still experimental, so this feature remains experimental here as well. Will update the issue here once we get a firmer grasp of ETA for stability. Meanwhile, please continue sharing feedback on the Exemplar feature! |
I just updated the description for the plan @cijothomas and I have worked out for 1.9.0 and releasing Users who want to turn on We feel the cost for enabling We have decided NOT to expose DetailsThe main design we considered was this:
This is a pretty big deviation from the spec. It forces users to use the View API to enable We feel the spec API is good at enabling or disabling meterProviderBuilder.SetExemplarFilter(InstrumentType.Histogram, ExemplarFilterType.TraceBased) But we would need to expose that experimentally which would only be available in pre-release builds. We're going to go with an experimental envvar for histograms to get close in a way that will work in stable builds. |
@CodeBlanch : Does it mean that exemplars can be turned on by |
|
Well, Do you have any example with counter metrics? I do not see any relevant example |
You can run the getting started doc : https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/docs/metrics/getting-started-console/Program.cs |
@cijothomas thank you but that gives only counter value and timestamp as exemplar. If I want something like |
Have you enabled Tracing, which is pre-req for seeing TraceId in exemplars. Please open a new issue, with a minimal reproducible example showing the problem being faced. |
ok. I misunderstood initially, I enabled tracing:
|
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#exemplar
First stable release (1.9.0)
SDK default behavior will be
AlwaysOff
. The spec says the defaultSHOULD
beTraceBased
. We decided to deviate from this due to performance concerns whenExemplar
s are enabled: [sdk-metrics] Turn exemplars on by default in prerelease builds #5545Expose APIs covered by the Exemplar diagnostic:
This will allow users to enable
Exemplar
s eitherAlwaysOn
orTraceBased
for all metrics.Add an environment variable for turning on
Exemplar
s specifically for histograms:We feel
Exemplar
s are most useful when combined with histograms. The current spec design is all-or-nothing. Due to the performance concerns, we have decided to expose an experiment mechanism for enablingExemplar
s for histograms only. The plan is for this to be a temporary thing while we work to improve the spec to allow for this scenario via a stable API.Tasks:
Future release
Propose spec changes to make it easier to enable
Exemplar
s for specific metrics: [metrics] Allow setting ExemplarFilter via View API opentelemetry-specification#4014Propose spec changes to make it easier to enable
Exemplar
s for specific instrument types: TODOExpose APIs covered by the ExemplarReservoir diagnostic:
We felt the use case for building custom
ExemplarReservoir
s is unclear. We want to gather feedback before exposing something.The text was updated successfully, but these errors were encountered: