timeSeriesQuantileToGrid
Introduced in: v26.9.0 Aggregate function that takes time series data as pairs of timestamps and values and calculates the PromQLquantile_over_time function on a regular time grid described by start timestamp, end timestamp and step. For each point on the grid the samples for calculating the quantile are considered within the specified time window. The quantile is computed using the R-7 (inclusive) method, like quantileExactInclusive. NaN samples are not skipped the way quantileExactInclusive skips them: like in Prometheus they are kept and sorted before every real value, so a window of [1, NaN, 2] has median 1, and a window whose samples are all NaN gives NaN.
The quantile level follows the samples as the last argument: either one number used at every grid point, or an array with one number per grid point. It must be the same in every row. Like in Prometheus, a level below 0 gives -Inf, a level above 1 gives +Inf and a NaN level gives NaN for every grid point whose window has samples.
This function is in private preview, enable it by setting
enable_time_series_aggregate_functions=true.start_timestamp— Specifies start of the grid. It can also be a fractional number, or a string containing a number or a date-time text.UInt32orDateTimeorDateTime64orFloat*orDecimal*orStringend_timestamp— Specifies end of the grid. It can also be a fractional number, or a string containing a number or a date-time text.UInt32orDateTimeorDateTime64orFloat*orDecimal*orStringgrid_step— Specifies step of the grid in seconds. It can also be a fractional number, or a string containing a number or a duration like ’15s’ or ‘1m’.UInt32orFloat*orDecimal*orStringstaleness— Specifies the maximum “staleness” in seconds of the considered samples. The staleness window is a left-open and right-closed interval. It can also be a fractional number, or a string containing a number or a duration like ’15s’ or ‘1m’.UInt32orFloat*orDecimal*orString
timestamp— Timestamp of the sample. Can be individual values or arrays.UInt32orDateTimeorDateTime64orArray(UInt32)orArray(DateTime)orArray(DateTime64)value— Value of the time series corresponding to the timestamp. Can be individual values or arrays.Float*orArray(Float*)samples— Samples of the time series passed as an array of tuples(timestamp, value), where the tuple elements have the timestamp and value types listed above. An alternative to passing the timestamps and the values as two separate arguments.Array(Tuple(T1, T2))phi— Quantile level, normally in the range [0, 1]: either one number for the whole grid or an array with one number per grid point. Must be the same in every row.Float*orUInt8/16/32/64orInt8/16/32/64orArray(Float*)orArray(UInt8/16/32/64)orArray(Int8/16/32/64)
Array(Nullable(Float64))
Examples