timeSeriesInstantDeltaToGrid
Агрегатная функция, которая принимает данные временных рядов в виде пар меток времени и значений и вычисляет PromQL-подобный idelta по этим данным на регулярной временной сетке, задаваемой начальной меткой времени, конечной меткой времени и шагом. Для каждой точки сетки учитываемые для вычисления idelta отсчёты берутся в пределах указанного временного окна.
Параметры:
start timestamp— задаёт начало сетки.end timestamp— задаёт конец сетки.grid step— задаёт шаг сетки в секундах.staleness— задаёт максимальную «устарелость» в секундах для учитываемых отсчётов. Окно устарелости представляет собой интервал, открытый слева и закрытый справа.
Аргументы:
timestamp— метка времени отсчёта.value— значение временного ряда, соответствующееtimestamp.
Возвращаемое значение:
Значения idelta на заданной сетке в виде Array(Nullable(Float64)). Возвращаемый массив содержит по одному значению для каждой точки временной сетки. Значение равно NULL, если в окне недостаточно отсчётов для вычисления значения мгновенного приращения (instant delta) для конкретной точки сетки.
Пример:
Следующий запрос вычисляет значения idelta на сетке [90, 105, 120, 135, 150, 165, 180, 195, 210]:
Ответ:
Также можно передавать несколько меток времени и значений в виде массивов одинаковой длины. Тот же запрос, но с аргументами-массивами:
Функция экспериментальная, включите её, установив allow_experimental_ts_to_grid_aggregate_function=true.