mirror of
https://github.com/prometheus/prometheus.git
synced 2026-03-16 23:52:18 -04:00
This allows putting a scalar as the first argument of a binary operator in which the second argument is a vector: <scalar> <binop> <vector> For example, 1 / http_requests_total ...will output a vector in which every sample value is 1 divided by the respective input vector element. This even works for filter binary operators now: 1 == http_requests_total Returns a vector with all values set to 1 for every element in http_requests_total whose initial value was 1. Note: For filter binary operators, the resulting values are always taken from the left-hand-side of the operation, no matter whether the scalar or the vector argument is the left-hand-side. That is, 1 != http_requests_total ...will set all result vector sample values to 1, although these are exactly the sample elements that were != 1 in the input vector. If you want to just filter elements without changing their sample values, you still need to do: http_requests_total != 1 The new filter form is a bit exotic, and so probably won't be used often. But it was easier to implement it than disallow it completely or change its behavior. Change-Id: Idd083f2bd3a1219ba1560cf4ace42f5b82e797a5 |
||
|---|---|---|
| .. | ||
| ast | ||
| fixtures | ||
| alerting.go | ||
| helpers.go | ||
| helpers_test.go | ||
| lexer.l | ||
| lexer.l.go | ||
| load.go | ||
| Makefile | ||
| manager.go | ||
| parser.y | ||
| parser.y.go | ||
| recording.go | ||
| rules.go | ||
| rules_test.go | ||
| telemetry.go | ||