VictoriaMetrics/app/vmselect/promql
Aliaksandr Valialkin 33abbec6b4 app/vmselect/promql: adjust memory limits calculations for incremental aggregate functions
Incremental aggregate functions don't keep all the selected time series in memory -
they keep only up to GOMAXPROCS time series for incremental aggregations.

Take into account that the number of time series in RAM can be higher if they are split
into many groups with `by (...)` or `without (...)` modifiers.

This should reduce the number of `not enough memory for processing ... data points` false
positive errors.
2019-11-08 19:37:43 +02:00
..
aggr_incremental_test.go all: port to FreeBSD on GOARCH=amd64 2019-08-28 01:46:09 +03:00
aggr_incremental.go app/vmselect/promql: return NaN from count() over zero time series 2019-07-25 22:02:34 +03:00
aggr_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
aggr.go app/vmselect/promql: ignore grouping by destination label in count_values, since such a grouping is performed automatically 2019-09-04 19:59:02 +03:00
arch_386.go all: add support for GOARCH=386 and fix all the issues related to 32-bit architectures such as GOARCH=arm 2019-10-17 18:27:49 +03:00
arch_amd64.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
arch_arm.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
binary_op_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
binary_op.go app/vmselect/promql: binary operation fixes according to Prometheus behaviour 2019-09-13 17:43:09 +03:00
eval.go app/vmselect/promql: adjust memory limits calculations for incremental aggregate functions 2019-11-08 19:37:43 +02:00
exec_test.go app/vmselect/promql: add lag(q[d]) function, which returns the lag between the current timestamp and the timstamp for the last data point in q 2019-11-01 12:21:43 +02:00
exec.go all: add support for GOARCH=386 and fix all the issues related to 32-bit architectures such as GOARCH=arm 2019-10-17 18:27:49 +03:00
lexer_test.go app/vmselect/promql: allow escaping identifiers with \ and \xXX 2019-05-31 17:35:54 +03:00
lexer.go app/vmselect/promql: hande comparisons with NaN similar to Prometheus 2019-08-18 00:25:58 +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_test.go app/vmselect/promql: hande comparisons with NaN similar to Prometheus 2019-08-18 00:25:58 +03:00
parser.go app/vmselect/promql: properly handle subqueries like aggr_func(rollup_func(metric[window:step])) 2019-09-13 21:42:11 +03:00
regexp_cache.go all: add support for GOARCH=386 and fix all the issues related to 32-bit architectures such as GOARCH=arm 2019-10-17 18:27:49 +03:00
rollup_result_cache_test.go app/vmselect/promql: reduce RAM usage for aggregates over big number of time series 2019-07-10 13:03:36 +03:00
rollup_result_cache.go app/vmselect/promql: fix panic on -search.disableCache 2019-08-21 17:12:01 +03:00
rollup_test.go app/vmselect/promql: add lag(q[d]) function, which returns the lag between the current timestamp and the timstamp for the last data point in q 2019-11-01 12:21:43 +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 lag(q[d]) function, which returns the lag between the current timestamp and the timstamp for the last data point in q 2019-11-01 12:21:43 +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: store compressed results in the cache 2019-08-14 02:32:16 +03:00
transform.go app/vmselect/promql: do not generate timestamps for NaN values in timestamp function according to Prometheus logic 2019-09-27 18:55:16 +03:00