---
title: prometheus.histogramQuantile() function
description: prometheus.histogramQuantile() calculates a quantile on a set of Prometheus histogram values.
url: https://docs.influxdata.com/flux/v0/stdlib/experimental/prometheus/histogramquantile/
estimated_tokens: 1984
product: Flux
version: v0
---

# prometheus.histogramQuantile() function

-   Flux 0.50.0+
-   View InfluxDB support

`prometheus.histogramQuantile()` is experimental and [subject to change at any time](/flux/v0/stdlib/experimental/#experimental-packages-are-subject-to-change).

`prometheus.histogramQuantile()` calculates a quantile on a set of Prometheus histogram values.

This function supports [Prometheus metric parsing formats](/influxdb/v2/reference/prometheus-metrics/) used by `prometheus.scrape()`, the Telegraf `promtheus` input plugin, and InfluxDB scrapers available in InfluxDB OSS.

##### Function type signature

```js
(<-tables: stream[{B with le: D, _field: C}], quantile: float, ?metricVersion: A, ?onNonmonotonic: string) => stream[E] where A: Equatable, C: Equatable, E: Record
```

For more information, see [Function type signatures](/flux/v0/function-type-signatures/).

## Parameters

### quantile

(Required) Quantile to compute. Must be a float value between 0.0 and 1.0.

### metricVersion

[Prometheus metric parsing format](/influxdb/v2/reference/prometheus-metrics/) 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-099-quantile-of-a-prometheus-histogram)
-   [Compute the 0.99 quantile of a Prometheus histogram parsed with metric version 1](#compute-the-099-quantile-of-a-prometheus-histogram-parsed-with-metric-version-1)

### Compute the 0.99 quantile of a Prometheus histogram

```js
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

```js
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)
```

[transformations](/flux/v0/tags/transformations/) [aggregates](/flux/v0/tags/aggregates/) [prometheus](/flux/v0/tags/prometheus/)
