thanos-io / promql-engine

Multi-threaded PromQL engine implementation based on the Volcano paper.
Apache License 2.0
141 stars 54 forks source link

Update prometheus to latest main #404

Closed fpetkovski closed 8 months ago

fpetkovski commented 8 months ago

This commit updates Prometheus to latest main. It takes advantage of https://github.com/prometheus/prometheus/pull/13340 to reduce memory and CPU usage of queries against native histograms.

Benchmarks

name                                       old time/op    new time/op    delta
NativeHistograms/selector-8                   133ms ±13%     130ms ± 3%     ~     (p=1.000 n=5+5)
NativeHistograms/sum-8                        163ms ± 1%     167ms ± 3%     ~     (p=0.151 n=5+5)
NativeHistograms/rate-8                       176ms ± 2%     115ms ± 2%  -34.79%  (p=0.008 n=5+5)
NativeHistograms/sum_rate-8                   193ms ± 2%     112ms ± 2%  -41.77%  (p=0.008 n=5+5)
NativeHistograms/histogram_sum-8              357ms ± 1%     356ms ± 0%     ~     (p=0.690 n=5+5)
NativeHistograms/histogram_count-8            357ms ± 2%     357ms ± 1%     ~     (p=0.690 n=5+5)
NativeHistograms/histogram_quantile-8         170ms ± 3%     170ms ± 2%     ~     (p=1.000 n=5+5)
NativeHistograms/histogram_scalar_binop-8     277ms ± 1%     279ms ± 5%     ~     (p=0.548 n=5+5)

name                                       old alloc/op   new alloc/op   delta
NativeHistograms/selector-8                   435MB ± 0%     435MB ± 0%     ~     (p=0.151 n=5+5)
NativeHistograms/sum-8                        416MB ± 0%     416MB ± 0%     ~     (p=0.421 n=5+5)
NativeHistograms/rate-8                       511MB ± 0%     214MB ± 0%  -58.06%  (p=0.008 n=5+5)
NativeHistograms/sum_rate-8                   493MB ± 0%     196MB ± 0%  -60.32%  (p=0.008 n=5+5)
NativeHistograms/histogram_sum-8              436MB ± 0%     436MB ± 0%     ~     (p=0.421 n=5+5)
NativeHistograms/histogram_count-8            436MB ± 0%     436MB ± 0%     ~     (p=0.310 n=5+5)
NativeHistograms/histogram_quantile-8         422MB ± 2%     417MB ± 0%     ~     (p=0.690 n=5+5)
NativeHistograms/histogram_scalar_binop-8     610MB ± 0%     610MB ± 0%     ~     (p=0.730 n=5+4)

name                                       old allocs/op  new allocs/op  delta
NativeHistograms/selector-8                   5.20M ± 0%     5.20M ± 0%     ~     (p=0.095 n=5+5)
NativeHistograms/sum-8                        5.19M ± 0%     5.19M ± 0%     ~     (p=0.222 n=5+5)
NativeHistograms/rate-8                       8.19M ± 0%     3.92M ± 0%  -52.07%  (p=0.008 n=5+5)
NativeHistograms/sum_rate-8                   8.18M ± 0%     3.92M ± 0%  -52.10%  (p=0.008 n=5+5)
NativeHistograms/histogram_sum-8              5.21M ± 0%     5.21M ± 0%     ~     (p=0.151 n=5+5)
NativeHistograms/histogram_count-8            5.21M ± 0%     5.21M ± 0%     ~     (p=0.421 n=5+5)
NativeHistograms/histogram_quantile-8         5.22M ± 1%     5.19M ± 0%     ~     (p=1.000 n=5+5)
NativeHistograms/histogram_scalar_binop-8     8.88M ± 0%     8.88M ± 0%     ~     (p=0.556 n=5+4)