VictoriaMetrics/app/vmselect/promql
Aliaksandr Valialkin b2f9b9d634
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:59:21 +02:00
..
active_queries.go Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 10:25:49 +02:00
aggr_incremental_test.go app/vmselect/promql: fix TestIncrementalAggr test on systems less than 3 CPU cores 2023-03-20 20:37:44 -07:00
aggr_incremental.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +02:00
aggr_test.go app/vmselect/promql: add mode() aggregate function 2020-07-20 15:30:11 +03:00
aggr.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +02:00
binary_op.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +02:00
eval_test.go all: add support for or filters in series selectors 2023-07-15 23:56:18 -07:00
eval.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +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:59:21 +02:00
exec.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +02: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:54:18 +03: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:54:18 +03:00
parser.go all: add support for or filters in series selectors 2023-07-15 23:56:18 -07:00
rollup_result_cache_test.go all: add support for or filters in series selectors 2023-07-15 23:56:18 -07:00
rollup_result_cache.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +02:00
rollup_test.go Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 10:25:49 +02:00
rollup_timing_test.go app/vmselect: use consistent randomizer in tests 2023-01-23 19:27:40 -08:00
rollup.go app/vmselect/promql: completely substitute median_over_time() WITH template with regular median_over_time() rollup function 2023-09-25 15:31:25 +02:00
timeseries_test.go app/vmselect/promql: add test to ensure 8-byte alignment (#3948) 2023-03-16 22:07:13 -07: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:29:18 -07:00
transform_test.go app/vmselect/promql: follow-up for 79e1c6a6fc 2023-03-27 18:04:30 -07:00
transform.go app/vmselect/promql: add drop_empty_series() function for dropping empty series before performing additional calculations 2023-10-16 20:59:21 +02:00
tzdata.go all: add go:build lines for Go1.17 2021-07-26 15:50:46 +03:00