VictoriaMetrics/app/vmselect/promql
Aliaksandr Valialkin bdb743c88d
app/vmselect/promql: add drop_empty_series() function for dropping empty series before performing additional calculations
This can be useful in the following queries:

   drop_empty_series(temperature <= 30) default 40

This query drops temperature series with all the values bigger than 30 on the selected time range,
while replacing gaps in the remaining series with 40.

The query without drop_empty_series:

  (temperature <= 30) default 40

would leave all the temperature series with all the values bigger than 30 on the selected time range,
and replace all their values with 40. This is not what could be epxected in some cases
like here - https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5071
2023-10-16 20:44:56 +02:00
..
active_queries.go Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 10:16:42 +02:00
aggr.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:45:20 +02:00
aggr_incremental.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:45:20 +02:00
aggr_incremental_test.go app/vmselect/promql: fix TestIncrementalAggr test on systems less than 3 CPU cores 2023-03-20 20:37:18 -07:00
aggr_test.go app/vmselect/promql: add mode() aggregate function 2020-07-20 15:31:20 +03:00
binary_op.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:45:20 +02:00
eval.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:45:20 +02:00
eval_test.go all: add support for or filters in series selectors 2023-07-16 00:06:33 -07:00
exec.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:45:20 +02:00
exec_test.go app/vmselect/promql: add drop_empty_series() function for dropping empty series before performing additional calculations 2023-10-16 20:44:56 +02:00
memory_limiter.go app/vmselect: return back the logic for limits the amounts of memory occupied by concurrently executed queries if -search.maxMemoryPerQuery isn't set 2022-10-10 21:45:13 +03:00
memory_limiter_test.go app/vmselect: return back the logic for limits the amounts of memory occupied by concurrently executed queries if -search.maxMemoryPerQuery isn't set 2022-10-10 21:45:13 +03:00
parser.go all: add support for or filters in series selectors 2023-07-16 00:06:33 -07:00
rollup.go app/vmselect/promql: completely substitute median_over_time() WITH template with regular median_over_time() rollup function 2023-09-25 15:28:12 +02:00
rollup_result_cache.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:45:20 +02:00
rollup_result_cache_test.go all: add support for or filters in series selectors 2023-07-16 00:06:33 -07:00
rollup_test.go Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 10:16:42 +02:00
rollup_timing_test.go app/vmselect: use consistent randomizer in tests 2023-01-23 19:27:25 -08:00
timeseries.go app/vmselect/promql: prevent from SIGBUS crash on architecures, which deny unaligned access to 8-byte words (e.g. ARM) 2023-03-12 16:32:08 -07:00
timeseries_test.go app/vmselect/promql: add test to ensure 8-byte alignment (#3948) 2023-03-16 09:01:42 -07:00
transform.go app/vmselect/promql: add drop_empty_series() function for dropping empty series before performing additional calculations 2023-10-16 20:44:56 +02:00
transform_test.go app/vmselect/promql: follow-up for 79e1c6a6fc 2023-03-27 18:03:36 -07:00
tzdata.go all: add go:build lines for Go1.17 2021-07-26 15:48:21 +03:00