VictoriaMetrics/app/vmselect/promql
Nikolay 4a50e9400c
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:44:02 +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.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +02:00
aggr_incremental.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +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_test.go app/vmselect/promql: add mode() aggregate function 2020-07-20 15:30:11 +03:00
binary_op.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +02:00
eval.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
exec.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: follow-up for 896c85a4a4 2023-10-02 21:07:46 +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:54:18 +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:54:18 +03:00
parser.go all: add support for or filters in series selectors 2023-07-15 23:56:18 -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:31:25 +02:00
rollup_result_cache.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +02:00
rollup_result_cache_test.go all: add support for or filters in series selectors 2023-07-15 23:56:18 -07: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
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
timeseries_test.go app/vmselect/promql: add test to ensure 8-byte alignment (#3948) 2023-03-16 22:07:13 -07:00
transform.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-10 13:44:02 +02:00
transform_test.go app/vmselect/promql: follow-up for 79e1c6a6fc 2023-03-27 18:04:30 -07:00
tzdata.go all: add go:build lines for Go1.17 2021-07-26 15:50:46 +03:00