VictoriaMetrics/app/vmselect/promql
Nikolay 1f91f22b5f
app/vmselect: reduce lock contention for heavy aggregation requests (#5119)
reduce lock contention for heavy aggregation requests
previously lock contetion may happen on machine with big number of CPU due to enabled string interning. sync.Map was a choke point for all aggregation requests.
Now instead of interning, new string is created. It may increase CPU and memory usage for some cases.
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5087
2023-10-10 13:45:20 +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: follow-up for 896c85a4a4 2023-10-02 20:08:26 +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: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:45:20 +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