PoC: HistogramReservoir uses a time-weighted algorithm #7458
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: