Синтаксис
Аргументы
db_name- Имя базы данных, в которой находится таблица TimeSeries.time_series_table- Имя таблицы TimeSeries.promql_query- Запрос, записанный в синтаксисе PromQL.start_time- Время начала интервала вычисления.end_time- Время окончания интервала вычисления.step- Шаг, с которым перебирается время вычисления отstart_timeдоend_time(включительно).
Возвращаемое значение
Функция может возвращать разные столбцы в зависимости от типа результата запроса, переданного в параметрpromql_query:
Столбец
samples называется time_series, если таблица TimeSeries имеет version 2 или ниже.
Поддерживаемые возможности PromQL
Селекторы
Мгновенные селекторы, селекторы диапазона, сопоставители меток (=, !=, =~, !~), модификаторы offset, модификаторы временной метки @ и подзапросы.
Функции
Note:
histogram_quantile использует линейную интерполяцию для классических бакетов гистограммы (определяемых по метке le). Нативные гистограммы не поддерживаются. Аргумент phi (уровень квантиля) должен быть константным скаляром. Выражения, меняющиеся от шага к шагу, такие как histogram_quantile(time() / 1000, ...), отклоняются с исключением NOT_IMPLEMENTED.
Note: ts_of_min_over_time и ts_of_max_over_time — экспериментальные функции в Prometheus (там они включаются с помощью --enable-feature=promql-experimental-functions); ClickHouse вычисляет их без этого флага.
Операторы
Бинарные арифметические (+, -, *, /, %, ^, atan2) и сравнительные (==, !=, <, >, <=, >= с необязательным bool) операторы с модификаторами on()/ignoring() и group_left()/group_right().
Логические операторы множеств and, or и unless с модификаторами on()/ignoring().
Унарные операторы + и -.
Операторы агрегации
sum, avg, min, max, count, count_values, stddev, stdvar, group, quantile, topk, bottomk, limitk — с необязательными модификаторами by() и without().
Пока не поддерживается
- Функции диапазона
stddev_over_time,stdvar_over_time,mad_over_time,first_over_time,ts_of_last_over_time,ts_of_first_over_time