-
Notifications
You must be signed in to change notification settings - Fork 440
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
Unify Histogram and ExpHistogram aggregation #2114
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2114 +/- ##
=======================================
- Coverage 78.3% 78.3% -0.1%
=======================================
Files 121 122 +1
Lines 20815 20803 -12
=======================================
- Hits 16308 16294 -14
- Misses 4507 4509 +2 ☔ View full report in Codecov by Sentry. |
@fraillt I don't completely follow the need for unifying abstractions for the two histograms? The regular histogram is already using the efficient lookup offered by |
3443940
to
706adea
Compare
Good question.
So I had a choice:
I choose the other option :) What is nice about it, is that it should work perfectly fine with counter types as well!!!
|
706adea
to
96be7f2
Compare
@fraillt Thanks for continuing your great work! I'd suggest to keep the scope of each PR very small, so it is easy to review and share feedbacks. (Metrics hot path code reviews need lot of focused attention, so smaller PRs are really appreciated here.) Also, we'd like to keep ExponentialHistogram and ExplicitHistogram separate, and let ExponentialHistogram pickup if you can join our community meetings (Tuesdays 9 AM Pacific), that'd be a good time to discuss some of the design ideas/other improvements! Most of the meeting time is spent discussing non-trivial problems, and you can definitely help there too, if you have the bandwidth to join. (If the time is not friendly to your time zone, we can do ad-hoc meetings to allow more participations) |
@cijothomas Would be interesting to join community meeting :) Timing is alright as well (19 PM EEST my time). |
I'll close this, because as you pointed out, this might be too big to review. |
Thanks! See ya at the meeting! |
Fixes #
Introducing common abstraction solved several issues with
ExpoHistogram
:is_under_cardinality_limit
Also fixed broken benchmark for histogram collection.
Changes
Provided abstractions to unify
Histogram
andExpoHistogram
behaviour.There's two new types:
trait Aggregator
- provides aggregation specific implementationstruct AttributeSetAggregation
- has two tasks:ValueMap
implementation.)Generally performance for Histogram is not changes much, only collection phase was improved 10-30% percent (the more data you have the bigger the improvement)
Merge requirement checklist
CHANGELOG.md
files updated for non-trivial, user-facing changes