Sintaxis
Argumentos
db_name- El nombre de la base de datos donde se encuentra una tabla TimeSeries.time_series_table- El nombre de una tabla TimeSeries.promql_query- Una consulta escrita en sintaxis PromQL.evaluation_time- La marca de tiempo de evaluación, con precisión de milisegundos o superior. Para evaluar una consulta en el momento actual, usenow()comoevaluation_time.
Valor devuelto
La función devuelve distintas columnas según el tipo de resultado de la consulta proporcionada en el parámetropromql_query:
Los valores siempre son de tipo
Float64, independientemente del tipo de los valores de la tabla TimeSeries. La escala S de las marcas de tiempo coincide con la de
las marcas de tiempo de la tabla, pero nunca es inferior a 3 (milisegundos). La zona horaria TZ es la de evaluation_time si este es de tipo
DateTime o DateTime64 con zona horaria; en caso contrario, es la zona horaria de las marcas de tiempo de la tabla.
La columna samples se denomina time_series si la tabla TimeSeries tiene la version 2 o anterior.
Funciones de PromQL compatibles
Selectores
Selectores instantáneos, selectores de rango, comparadores de etiquetas (=, !=, =~, !~), modificadores offset, modificadores de @ timestamp y subconsultas.
Funciones
Nota:
histogram_quantile usa interpolación lineal en los buckets de histogramas clásicos (identificados por la etiqueta le). Los histogramas nativos no son compatibles. El argumento phi (nivel de quantile) debe ser un escalar constante. Las expresiones que varían en cada paso, como histogram_quantile(time() / 1000, ...), se rechazan con una excepción NOT_IMPLEMENTED.
Nota: min_of(a, b) y max_of(a, b) devuelven, respectivamente, el menor o el mayor de dos valores escalares. Ambos argumentos deben ser escalares.
Nota: min_of, max_of, ts_of_min_over_time, ts_of_max_over_time, ts_of_last_over_time, first_over_time, ts_of_first_over_time y mad_over_time son funciones experimentales de Prometheus (habilitadas allí con --enable-feature=promql-experimental-functions); ClickHouse las evalúa sin requerir ese indicador.
Operadores
Operadores binarios aritméticos (+, -, *, /, %, ^, atan2) y de comparación (==, !=, <, >, <=, >= con el modificador opcional bool), con los modificadores on()/ignoring() y group_left()/group_right().
Operadores lógicos de conjuntos and, or y unless, con los modificadores on()/ignoring().
Operadores unarios + y -.
Operadores de agregación
sum, avg, min, max, count, count_values, stddev, stdvar, group, quantile, topk, bottomk, limitk — con los modificadores opcionales by() o without().