docs-v2/content/flux/v0/stdlib/internal/promql/changes.md

2.7 KiB

title description menu weight
promql.changes() function `promql.changes()` implements functionality equivalent to [PromQL's `changes()` function](https://prometheus.io/docs/prometheus/latest/querying/functions/#changes).
flux_v0_ref
name parent identifier
promql.changes internal/promql internal/promql/changes
201

promql.changes() implements functionality equivalent to PromQL's changes() function.

Important: The internal/promql package is not meant for external use.

Function type signature
(<-tables: stream[{A with _value: float}]) => stream[{B with _value: float}]

{{% caption %}} For more information, see Function type signatures. {{% /caption %}}

Parameters

tables

Input data. Default is piped-forward data (<-).

Examples

Return the number of times that values in a series change

import "internal/promql"
import "sampledata"

sampledata.float()
    |> promql.changes()

{{< expand-wrapper >}} {{% expand "View example input and output" %}}

Input data

_time *tag _value
2021-01-01T00:00:00Z t1 -2.18
2021-01-01T00:00:10Z t1 10.92
2021-01-01T00:00:20Z t1 7.35
2021-01-01T00:00:30Z t1 17.53
2021-01-01T00:00:40Z t1 15.23
2021-01-01T00:00:50Z t1 4.43
_time *tag _value
2021-01-01T00:00:00Z t2 19.85
2021-01-01T00:00:10Z t2 4.97
2021-01-01T00:00:20Z t2 -3.75
2021-01-01T00:00:30Z t2 19.77
2021-01-01T00:00:40Z t2 13.86
2021-01-01T00:00:50Z t2 1.86

Output data

*tag _value
t1 5
*tag _value
t2 5

{{% /expand %}} {{< /expand-wrapper >}}