3.4 KiB
3.4 KiB
title | description | menu | weight | flux/v0/tags | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
prometheus.histogramQuantile() function | `prometheus.histogramQuantile()` calculates a quantile on a set of Prometheus histogram values. |
|
201 |
|
prometheus.histogramQuantile()
calculates a quantile on a set of Prometheus histogram values.
This function supports Prometheus metric parsing formats
used by prometheus.scrape()
, the Telegraf promtheus
input plugin, and
InfluxDB scrapers available in InfluxDB OSS.
Function type signature
(<-tables: stream[{B with le: D, _field: C}], quantile: float, ?metricVersion: A, ?onNonmonotonic: string) => stream[E] where A: Equatable, C: Equatable, E: Record
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
Parameters
quantile
({{< req >}}) Quantile to compute. Must be a float value between 0.0 and 1.0.
metricVersion
Prometheus metric parsing format
used to parse queried Prometheus data.
Available versions are 1
and 2
.
Default is 2
.
tables
Input data. Default is piped-forward data (<-
).
onNonmonotonic
Describes behavior when counts are not monotonically increasing
when sorted by upper bound. Default is error
.
Supported values:
- error: Produce an error.
- force: Force bin counts to be monotonic by adding to each bin such that it is equal to the next smaller bin.
- drop: When a nonmonotonic table is encountered, produce no output.
Examples
- Compute the 0.99 quantile of a Prometheus histogram
- Compute the 0.99 quantile of a Prometheus histogram parsed with metric version 1
Compute the 0.99 quantile of a Prometheus histogram
import "experimental/prometheus"
prometheus.scrape(url: "http://localhost:8086/metrics")
|> filter(fn: (r) => r._measurement == "prometheus")
|> filter(fn: (r) => r._field == "qc_all_duration_seconds")
|> prometheus.histogramQuantile(quantile: 0.99)
Compute the 0.99 quantile of a Prometheus histogram parsed with metric version 1
import "experimental/prometheus"
from(bucket: "example-bucket")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "qc_all_duration_seconds")
|> prometheus.histogramQuantile(quantile: 0.99, metricVersion: 1)