You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While timestamps are optional, they are required for native histograms:
* https://github.com/prometheus/prometheus/blame/4aee718013/scrape/scrape.go#L1833
Old histograms can be converted to native histograms at the ingestion time,
which in turn makes timestamps required for old histograms too.
Benchmarking this against the baseline with no changes:
* AMD EPYC 7642:
```
histogram without exemplars
time: [12.389 ns 12.390 ns 12.392 ns]
change: [-0.0820% -0.0532% -0.0227%] (p = 0.00 < 0.05)
Change within noise threshold.
histogram with exemplars (no exemplar passed)
time: [28.469 ns 28.476 ns 28.483 ns]
change: [+1.9145% +1.9533% +1.9954%] (p = 0.00 < 0.05)
Performance has regressed.
histogram with exemplars (some exemplar passed)
time: [135.70 ns 135.83 ns 135.96 ns]
change: [+49.325% +49.740% +50.112%] (p = 0.00 < 0.05)
Performance has regressed.
```
* Apple M3 Pro:
```
histogram without exemplars
time: [3.1357 ns 3.1617 ns 3.1974 ns]
change: [+1.2045% +2.0927% +3.1167%] (p = 0.00 < 0.05)
Performance has regressed.
histogram with exemplars (no exemplar passed)
time: [5.8648 ns 5.8751 ns 5.8872 ns]
change: [+0.1479% +0.9875% +1.6873%] (p = 0.01 < 0.05)
Change within noise threshold.
histogram with exemplars (some exemplar passed)
time: [69.448 ns 69.790 ns 70.192 ns]
change: [+24.346% +24.897% +25.459%] (p = 0.00 < 0.05)
Performance has regressed.
```
The only real change would come in the third benchmark when exemplars
are actually passed, changes in the other two are due to noise.
Exemplars are usually used for tracing, where there's sampling involved,
so not every observation would incur a performance penalty, and only a
small fraction would be affected. For cases where tracing is enabled for
100% of observations, the overhead if tracing itself would drown any
changes here.
Signed-off-by: Ivan Babrou <[email protected]>
0 commit comments