VictoriaMetrics/app/vmselect/promql
Aliaksandr Valialkin 5ace0701d3
app/vmselect/promql: add the ability to copy all the labels from one side of group_left()/group_right() operation
This is performed by specifying `*` inside group_left()/group_right().
Also allow specifying prefix for the copied labels via `group_left(...) prefix "..."` and `group_right(...) prefix "..."` syntax.
For example, the following query adds all the namespace-related labels to pod info, and prefixes all the copied label names with "ns_" prefix:

  kube_pod_info * on(namespace) group_left(*) prefix "ns_" kube_namespace_labels

This resolves the following StackOverflow questions:

- https://stackoverflow.com/questions/76661818/how-to-add-namespace-labels-to-pod-labels-in-prometheus
- https://stackoverflow.com/questions/76653997/how-can-i-make-a-new-copy-of-kube-namespace-labels-metric-with-a-different-name
2023-07-17 16:58:30 -07:00
..
active_queries.go app/vmselect: show X-Forwarded-For contents on /api/v1/status/active_queries page 2020-07-31 20:01:09 +03:00
aggr.go .golangci.yml: properly enable revive linter and fix all the warnings it detects 2023-02-26 12:19:58 -08:00
aggr_incremental.go app/vmselect: optimize incremental aggregates a bit 2023-03-20 15:42:13 -07: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/promql: add the ability to copy all the labels from one side of group_left()/group_right() operation 2023-07-17 16:58:30 -07:00
eval.go all: add support for or filters in series selectors 2023-07-15 23:56:18 -07:00
eval_test.go all: add support for or filters in series selectors 2023-07-15 23:56:18 -07:00
exec.go all: add support for or filters in series selectors 2023-07-15 23:56:18 -07:00
exec_test.go app/vmselect/promql: add the ability to copy all the labels from one side of group_left()/group_right() operation 2023-07-17 16:58:30 -07: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: fix panic when calculating aggr_func(rollup*()) 2023-02-27 11:48:38 -08:00
rollup_result_cache.go lib/fs: rename WriteFileAtomically to MustWriteAtomic 2023-04-13 22:43:30 -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_test.go app/vmselect/promql: add mad_over_time(m[d]) function 2023-02-11 01:06:39 -08: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 all: add support for or filters in series selectors 2023-07-15 23:56:18 -07: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