-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Remove exact aggregator for histogram instruments #2348
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2348 +/- ##
=======================================
- Coverage 73.7% 73.5% -0.3%
=======================================
Files 175 174 -1
Lines 12439 12298 -141
=======================================
- Hits 9179 9043 -136
+ Misses 3023 3015 -8
- Partials 237 240 +3
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I'm not an expert (nor even conversant) on OpenCensus, so it may be useful to have someone who understands OpenCensus more to take a look at the changes there.
Just to confirm my understanding, since the bridge is now a LastValue aggregation, the opencensus bridge might skip points if the opencensus ReportingInterval is less than the opentelemetry CollectPeriod? If my understanding is correct, can we document that the CollectPeriod should be at least the ReportingInterval? |
OpenCensus reports cumulative metrics, so this is probably ok if you're actually exporting a gauge or sum, because the last seens value is the "latest cumulative" so dropping is "free" there. As an FYI -> I'm trying to migrate the OpenCensus bridge in Java to read directly against the OpenCensus storage rather than use an interval-based reading hook. Not sure that applies to Go, but look here for the details. +1 to removing Exact distribution @jmacd !! This was very confusing name. |
Co-authored-by: ET <evantorrie@users.noreply.github.com>
@dashpole @jsuereth If I understand correctly, there is no loss of data. The OTLP exporter supported the Exact aggregator by making an array of gauges. I've replaced that with a bunch of normal Gauges that will be joined into the same array of gauges here:
(See also #2119) |
I should add that #2119 is calling to eliminate the #2119 also calls to make the reader interface 3-levels from 2-levels, so the export pattern would be like:
You could make the argument for a 4-level pattern w/ an additional |
…o jmacd/remove_exact
…o into jmacd/remove_exact
Thanks for the explanation! |
/easycla |
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
This aggregator causes confusing behavior, especially when paired with the OTLP exporter behavior. This aggregator and the corresponding AggregatorSelector (
selector/simple.NewWithExactDistribution()
) gave users a misleading route from histogram instruments to gauge measurements.Fixes #2346.