-
Notifications
You must be signed in to change notification settings - Fork 859
[OpenTelemetry] Move BucketLookup tree to AggregatorStore #6715
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?
[OpenTelemetry] Move BucketLookup tree to AggregatorStore #6715
Conversation
Reduces memory usage by caching HistogramBuckets.BucketLookupNode
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #6715 +/- ##
==========================================
+ Coverage 86.84% 87.07% +0.22%
==========================================
Files 258 259 +1
Lines 11984 12198 +214
==========================================
+ Hits 10408 10621 +213
- Misses 1576 1577 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Co-authored-by: Martin Costello <martin@martincostello.com>
|
@martincostello @Kielek @cijothomas Codecov says that one changed line is not covered with tests, this is the line (you need to expand the |
Fixes #5976
Changes
The PR moves
BucketLookuptree toAggregateStore. A logic that buildsBucketLookuptree and decides whether a linear or binary search should be used has been moved to a class calledHistogramExplicitBounds.Benchmark results
HistogramBenchmarks measure performance of histograms with explicit bucket boundaries. Below are sample benchmark results comparing performance "before" and "after".
BEFORE:
AFTER:
The benchmark tests were run several times and the results were the same as above:
BoundsCount) less than 50 the performance "before" and "after" is more or less the same;BoundsCount>= 50 the performance "after" is better than "before", and the higher the cardinality of a metric the better performance.Memory consumption
A test described in this comment was used to compare memory consumption "before" and "after":
Merge requirement checklist
CHANGELOG.mdfiles updated for non-trivial changesChanges in public API reviewed (if applicable) -NOT APPLICABLE