prometheus/promql
Bryan Boreham c4942ef3b7
Optimise query_range by computing join signatures just once (#9360)
* Add benchmark case for many-to-one join

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

* query_range: compute join signatures just once

For an expression like `a + on(p,q) b`, extract the `p,q` part from each
series once, instead of re-computing at every step of the range.

Although there was a cache, computing the key by concatenating all
labels was expensive.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2021-09-21 15:58:39 +05:30
..
fuzz-data textparse: Add fuzzing and fix bug caught 2017-07-07 11:12:17 +02:00
parser Add inverse hyperbolic functions 2021-09-15 22:47:10 -04:00
testdata Add inverse hyperbolic functions 2021-09-15 22:47:10 -04:00
bench_test.go Optimise query_range by computing join signatures just once (#9360) 2021-09-21 15:58:39 +05:30
engine.go Optimise query_range by computing join signatures just once (#9360) 2021-09-21 15:58:39 +05:30
engine_test.go tests: Move from t.Errorf and others. (Part 2) (#9309) 2021-09-13 21:19:20 +02:00
functions.go Remove parenthesis 2021-09-15 22:47:10 -04:00
functions_test.go Combine Appender.Add and AddFast into a single Append method. (#8489) 2021-02-18 17:37:00 +05:30
fuzz.go Add new Go build tags. 2021-08-27 10:24:14 +02:00
promql_test.go Testify: move to require (#8122) 2020-10-29 09:43:23 +00:00
quantile.go Fix off-by-one error in funcHistogramQuantile / ensureMonotonic (#7393) 2020-06-15 11:32:10 +01:00
query_logger.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
query_logger_test.go tests: Move from t.Errorf and others. (Part 2) (#9309) 2021-09-13 21:19:20 +02:00
test.go tests: Move from t.Errorf and others. (Part 2) (#9309) 2021-09-13 21:19:20 +02:00
test_test.go Promtool: Add feature flags to unit tests (#8958) 2021-06-30 22:43:39 +01:00
value.go Add present_over_time (#9097) 2021-07-29 12:38:11 +02:00