diff --git a/promql/testdata/histograms.test b/promql/testdata/histograms.test index a9bb9b5e4..07e9a9225 100644 --- a/promql/testdata/histograms.test +++ b/promql/testdata/histograms.test @@ -15,6 +15,15 @@ load 5m testhistogram_bucket{le="0.3", start="negative"} 0+2x10 testhistogram_bucket{le="+Inf", start="negative"} 0+3x10 +# Another test histogram, where q(1/6), q(1/2), and q(5/6) are each in +# the middle of a bucket and should therefore be 1, 3, and 5, +# respectively. +load 5m + testhistogram2_bucket{le="0"} 0+0x10 + testhistogram2_bucket{le="2"} 0+1x10 + testhistogram2_bucket{le="4"} 0+2x10 + testhistogram2_bucket{le="6"} 0+3x10 + testhistogram2_bucket{le="+Inf"} 0+3x10 # Now a more realistic histogram per job and instance to test aggregation. load 5m @@ -91,6 +100,25 @@ eval instant at 50m histogram_quantile(0.8, rate(testhistogram_bucket[5m])) {start="positive"} 0.72 {start="negative"} 0.3 +# Want results exactly in the middle of the bucket. +eval instant at 7m histogram_quantile(1./6., testhistogram2_bucket) + {} 1 + +eval instant at 7m histogram_quantile(0.5, testhistogram2_bucket) + {} 3 + +eval instant at 7m histogram_quantile(5./6., testhistogram2_bucket) + {} 5 + +eval instant at 47m histogram_quantile(1./6., rate(testhistogram2_bucket[15m])) + {} 1 + +eval instant at 47m histogram_quantile(0.5, rate(testhistogram2_bucket[15m])) + {} 3 + +eval instant at 47m histogram_quantile(5./6., rate(testhistogram2_bucket[15m])) + {} 5 + # Aggregated histogram: Everything in one. eval instant at 50m histogram_quantile(0.3, sum(rate(request_duration_seconds_bucket[5m])) by (le)) {} 0.075