VictoriaMetrics/app/vmselect/promql
Aliaksandr Valialkin 726751a311
app/vmselect/promql: properly handle precision errors in rollup functions
changes(), increases_over_time() and resets() shouldn't take into account
value changes, which may occur because of precision errors.

The maximum guaranteed precision for raw samples stored in VictoriaMetrics is 12 decimal digits.
So do not count relative changes for values if they are smaller than 1e-12 comparing to the value.

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/767
2024-02-08 02:34:40 +02:00
..
active_queries.go Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 11:15:51 +02:00
aggr.go app/vmselect/promql: simplify the code after 388d020b7c 2024-01-16 22:36:46 +02:00
aggr_incremental.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-16 02:01:07 +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: simplify the code after 388d020b7c 2024-01-16 22:36:46 +02:00
binary_op.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-16 02:01:07 +02:00
eval.go app/vmselect: handle negative time range start in a generic manner inside NewSearchQuery() 2024-01-22 01:42:27 +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-16 02:01:07 +02:00
exec_test.go app/vmselect/promql: properly handle possible negative results caused… (#5608) 2024-01-22 01:05: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: properly handle precision errors in rollup functions 2024-02-08 02:34:40 +02:00
rollup_result_cache.go app/vmselect: reduce lock contention for heavy aggregation requests (#5119) 2023-10-16 02:01:07 +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 app/vmselect/promql: properly handle possible negative results caused… (#5608) 2024-01-22 01:05:46 +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/promql: do not use unsafe conversion from bytes slice to string when storing a value by map key 2023-10-16 13:57:25 +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