Skip to content

Conversation

@dashpole
Copy link
Contributor

@dashpole dashpole commented Oct 24, 2025

This builds on #7474 and #7478. It is similar to the histogram implementation, but uses an additional hotColdWaitGroup for downscaling without blocking the hot path, and a "circular" slice for buckets to avoid shifts.

This is not ready for review, and still needs a significant amount of polish. I will return to this after the previous PRs are merged.

                                                                                  │   main.txt   │              hist.txt               │
                                                                                  │    sec/op    │    sec/op     vs base               │
SyncMeasure/NoView/ExemplarsDisabled/ExponentialInt64Histogram/Attributes/0-24      296.4n ± 18%   155.5n ±  4%  -47.54% (p=0.002 n=6)
SyncMeasure/NoView/ExemplarsDisabled/ExponentialInt64Histogram/Attributes/1-24      304.0n ± 16%   152.1n ±  2%  -49.97% (p=0.002 n=6)
SyncMeasure/NoView/ExemplarsDisabled/ExponentialInt64Histogram/Attributes/10-24     332.8n ±  5%   150.4n ±  4%  -54.80% (p=0.002 n=6)
SyncMeasure/NoView/ExemplarsDisabled/ExponentialFloat64Histogram/Attributes/0-24    314.7n ±  8%   152.6n ± 16%  -51.51% (p=0.002 n=6)
SyncMeasure/NoView/ExemplarsDisabled/ExponentialFloat64Histogram/Attributes/1-24    314.2n ±  8%   158.7n ±  3%  -49.49% (p=0.002 n=6)
SyncMeasure/NoView/ExemplarsDisabled/ExponentialFloat64Histogram/Attributes/10-24   334.3n ±  8%   157.2n ±  3%  -52.96% (p=0.002 n=6)
geomean                                                                             315.8n         154.4n        -51.10%

@codecov
Copy link

codecov bot commented Oct 24, 2025

Codecov Report

❌ Patch coverage is 94.10774% with 35 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.1%. Comparing base (f346dec) to head (d669f93).
⚠️ Report is 18 commits behind head on main.

Files with missing lines Patch % Lines
...metric/internal/aggregate/exponential_histogram.go 93.9% 11 Missing and 8 partials ⚠️
sdk/metric/internal/aggregate/atomic.go 81.1% 13 Missing and 3 partials ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##            main   #7535     +/-   ##
=======================================
- Coverage   86.2%   86.1%   -0.1%     
=======================================
  Files        294     296      +2     
  Lines      25844   21886   -3958     
=======================================
- Hits       22286   18861   -3425     
+ Misses      3185    2643    -542     
- Partials     373     382      +9     
Files with missing lines Coverage Δ
sdk/metric/internal/aggregate/aggregate.go 100.0% <100.0%> (ø)
sdk/metric/internal/aggregate/histogram.go 100.0% <100.0%> (ø)
sdk/metric/internal/aggregate/lastvalue.go 100.0% <100.0%> (ø)
sdk/metric/internal/aggregate/sum.go 100.0% <100.0%> (ø)
sdk/metric/internal/aggregate/atomic.go 85.7% <81.1%> (-6.2%) ⬇️
...metric/internal/aggregate/exponential_histogram.go 94.8% <93.9%> (-1.9%) ⬇️

... and 250 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant