Синтаксис
Аргументы
db_name- Имя базы данных, в которой находится таблица TimeSeries.time_series_table- Имя таблицы TimeSeries.promql_query- Запрос, написанный в синтаксисе PromQL.evaluation_time - Временная метка вычисления. Чтобы вычислить запрос на текущий момент, используйтеnow()в качествеevaluation_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