Skip to main content

timeSeriesQuantileToGrid

Добавлена в: v26.9.0 Агрегатная функция, которая принимает данные временных рядов в виде пар временных меток и значений и вычисляет функцию PromQL quantile_over_time на регулярной временной сетке, заданной начальной временной меткой, конечной временной меткой и шагом. Для каждой точки сетки квантиль вычисляется по образцам, попадающим в заданное временное окно. Квантиль вычисляется методом R-7 (inclusive), как в quantileExactInclusive. Однако, в отличие от quantileExactInclusive, образцы NaN не пропускаются: как и в Prometheus, они сохраняются и при сортировке располагаются перед всеми действительными значениями. Поэтому для окна [1, NaN, 2] медиана равна 1, а если все образцы в окне равны NaN, результатом будет NaN. Уровень квантиля передаётся последним аргументом после образцов: либо как одно число, используемое для всех точек сетки, либо как массив, содержащий по одному числу для каждой точки сетки. Он должен быть одинаковым во всех строках. Как и в Prometheus, уровень меньше 0 даёт -Inf, уровень больше 1 — +Inf, а уровень NaN даёт NaN для каждой точки сетки, в окне которой есть образцы.
Эта функция находится в стадии закрытой предварительной версии. Чтобы включить её, установите настройку enable_time_series_aggregate_functions=true.
Синтаксис
Параметры
  • start_timestamp — Задаёт начало сетки. Также может быть дробным числом или строкой, содержащей число либо дату и время в текстовом виде. UInt32 или DateTime или DateTime64 или Float* или Decimal* или String
  • end_timestamp — Задаёт конец сетки. Также может быть дробным числом или строкой, содержащей число либо дату и время в текстовом виде. UInt32 или DateTime или DateTime64 или Float* или Decimal* или String
  • grid_step — Задаёт шаг сетки в секундах. Также может быть дробным числом или строкой, содержащей число либо длительность, например ’15s’ или ‘1m’. UInt32 или Float* или Decimal* или String
  • staleness — Задаёт максимальную «давность» (staleness) учитываемых образцов в секундах. Окно давности представляет собой интервал, открытый слева и закрытый справа. Также может быть дробным числом или строкой, содержащей число либо длительность, например ’15s’ или ‘1m’. UInt32 или Float* или Decimal* или String
Аргументы
  • timestamp — временная метка образца. Может быть отдельным значением или массивом. UInt32 или DateTime или DateTime64 или Array(UInt32) или Array(DateTime) или Array(DateTime64)
  • value — значение временного ряда, соответствующее временной метке. Может быть отдельным значением или массивом. Float* или Array(Float*)
  • samples — образцы временного ряда, передаваемые в виде массива Tuple (timestamp, value), элементы которых имеют указанные выше типы временной метки и значения. Альтернатива передаче временных меток и значений в виде двух отдельных аргументов. Array(Tuple(T1, T2))
  • phi — уровень квантиля, обычно в диапазоне [0, 1]: либо одно число для всей сетки, либо массив, содержащий по одному числу для каждой точки сетки. Должен быть одинаковым во всех строках. Float* или UInt8/16/32/64 или Int8/16/32/64 или Array(Float*) или Array(UInt8/16/32/64) или Array(Int8/16/32/64)
Возвращаемое значение Возвращает phi-квантиль значений на заданной сетке. Возвращаемый массив содержит по одному значению для каждой точки временной сетки. Если для какой-либо точки сетки в окне нет образцов, значение равно NULL. Array(Nullable(Float64)) Примеры
Последнее изменение 14 октября 2026 г.