-
Notifications
You must be signed in to change notification settings - Fork 910
Type specific exemplar reservoirs #7758
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
base: main
Are you sure you want to change the base?
Type specific exemplar reservoirs #7758
Conversation
…rReservoirFactory
…y-java into type-specific-exemplar-reservoirs
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #7758 +/- ##
============================================
- Coverage 90.18% 90.16% -0.03%
+ Complexity 7196 7189 -7
============================================
Files 814 814
Lines 21722 21730 +8
Branches 2125 2129 +4
============================================
+ Hits 19590 19592 +2
- Misses 1465 1469 +4
- Partials 667 669 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
...opentelemetry/sdk/metrics/internal/aggregator/DoubleBase2ExponentialHistogramAggregator.java
Show resolved
Hide resolved
...o/opentelemetry/sdk/metrics/internal/aggregator/DoubleExplicitBucketHistogramAggregator.java
Show resolved
Hide resolved
I'm fine with this approach, too. I'll trust your judgement on which direction to go. |
I prefer this. Fortunately, we actually don't need to rush to stabilize anything related to ExemplarReservoir since there is currently no user facing configuration available around this. For the immediate future, we just need to focus on ExemplarFilter, which will have a very limited public API surface area. |
I'm not completely satisfied with #7742.
Its awkward that a single implementation of
ExemplarReservoir
has to be responsible for both longs and double, and collecting longs and doubles. In actuality, because each aggregation handle has its own reservoir instance, a particular reservoir is only responsible for recording / collecting longs OR recording / collecting doubles.This (optional) followup to #7742 teases
ExemplarReservoir
apart intoDoubleExemplarReservoir
andLongExemplarReservoir
. It also introduces a newExemplarReservoirFactory
with two methods:createLongExemplarReservoir()
,createDoubleExemplarReservoir()
. This would be the interface that we would ultimately add toView
for user configuration.