VictoriaMetrics/app/vmselect/promql
Aliaksandr Valialkin 0580a58feb
app/vmselect/promql: add support for @ modifier
Add support for `@` modifier in MetricsQL according to https://prometheus.io/docs/prometheus/latest/querying/basics/#modifier

Extend the support with the following features:
* Allow using `@` modifier everywhere in the query. For example, `sum(foo) @ end()`
* Allow using arbitrary expression as `@` modifier. For example, `foo @ (end() - 1h)`
  returns `foo` value at `end - 1 hour` timestamp on the selected time range `[start ... end]`

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1348
2022-01-13 22:15:19 +02:00
..
active_queries.go app/vmselect: show X-Forwarded-For contents on /api/v1/status/active_queries page 2020-07-31 20:01:09 +03:00
aggr_incremental_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
aggr_incremental.go app/vmselect/promql: return empty values from group() if all the time series have no values at the given timestamp 2020-07-28 13:41:04 +03:00
aggr_test.go app/vmselect/promql: add mode() aggregate function 2020-07-20 15:30:11 +03:00
aggr.go app/vmselect/promql: preserve the order of time series passed to limit_offset() function 2021-12-12 18:07:15 +02:00
binary_op.go app/vmselect/promql: add atan2 binary operator, which is going to be added in Prometheus 2.31 2021-10-11 21:17:23 +03:00
eval.go app/vmselect/promql: add support for @ modifier 2022-01-13 22:15:19 +02:00
exec_test.go app/vmselect/promql: add support for @ modifier 2022-01-13 22:15:19 +02:00
exec.go app/vmselect/promql: add topk_last and bottomk_last functions 2021-09-30 13:23:27 +03:00
memory_limiter_test.go app/vmselect/promql: use dynamic limit on memory for concurrent queries 2019-06-12 23:18:23 +03:00
memory_limiter.go app/vmselect/promql: use dynamic limit on memory for concurrent queries 2019-06-12 23:18:23 +03:00
parser.go app/vmselect: accept optional extra_filters[] query args for all the supported Prometheus querying APIs 2021-12-06 17:33:49 +02:00
rollup_result_cache_test.go lib/metricsql: move it to a separate repository - github.com/VictoriaMetrics/metrics 2020-04-28 15:30:06 +03:00
rollup_result_cache.go app/vmselect: accept optional extra_filters[] query args for all the supported Prometheus querying APIs 2021-12-06 17:33:49 +02:00
rollup_test.go app/vmselect/promql: follow-up after 177e345d8a 2021-12-20 13:15:06 +02:00
rollup_timing_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
rollup.go app/vmselect/promql: add support for @ modifier 2022-01-13 22:15:19 +02:00
timeseries_test.go app/vmselect/promql: store compressed results in the cache 2019-08-14 02:32:16 +03:00
timeseries.go app/vmselect/promql: follow-up after 57b3320478 2021-09-24 01:25:04 +03:00
transform.go app/vmselect/promql: preserve the order of time series passed to limit_offset() function 2021-12-12 18:07:15 +02:00
tzdata.go all: add go:build lines for Go1.17 2021-07-26 15:50:46 +03:00