PoC: HistogramReservoir uses a time-weighted algorithm#7458
Closed
dashpole wants to merge 5 commits intoopen-telemetry:mainfrom
Closed
PoC: HistogramReservoir uses a time-weighted algorithm#7458dashpole wants to merge 5 commits intoopen-telemetry:mainfrom
dashpole wants to merge 5 commits intoopen-telemetry:mainfrom
Conversation
2 tasks
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #7458 +/- ##
=====================================
Coverage 85.7% 85.7%
=====================================
Files 284 284
Lines 25017 25054 +37
=====================================
+ Hits 21441 21473 +32
- Misses 3197 3200 +3
- Partials 379 381 +2
🚀 New features to boost your workflow:
|
Contributor
Author
|
Closing, as it is just a PoC |
github-merge-queue bot
pushed a commit
to open-telemetry/opentelemetry-specification
that referenced
this pull request
Oct 28, 2025
…ograms (#4678) Fixes #4675 ## Changes Change the recommended algorithm for histogram reservoirs to be time-unbiased. I've left the previous algorithm as an option to ensure this change is backwards-compatible. Go prototype: open-telemetry/opentelemetry-go#7458 * [x] Links to the prototypes (when adding or changing features) * [x] [`CHANGELOG.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/CHANGELOG.md) file updated for non-trivial changes --------- Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> Co-authored-by: Carlos Alberto Cortez <calberto.cortez@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PoC of open-telemetry/opentelemetry-specification#4678.
Please only pay attention to 9429757. Previous commits are from #7447 and #7443, and are important for having real performance numbers.
Compared with #7443, this does come with a performance cost according to our benchmarks to track when to record the next measurement:
The percentage cost increase is large (~50%), but the absolute cost is relatively small (~10ns). This increase is largely because of how the benchmark is written: it benchmarks the first 100 measurements by resetting the count every 100 observations.
If we do not reset storage every 100 observations in the benchmark, the rate of recording exemplars becomes essentially zero. So for histograms with very large numbers of observations, this is actually a substantial performance improvement: