Evalúa una consulta de Prometheus con datos de una tabla TimeSeries.
prometheusQuery('db_name', 'time_series_table', 'promql_query', evaluation_time)
prometheusQuery(db_name.time_series_table, 'promql_query', evaluation_time)
prometheusQuery('time_series_table', 'promql_query', evaluation_time)
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 temporal de evaluación. Para evaluar una consulta en el momento actual, use now()comoevaluation_time`.
La función puede devolver distintas columnas según el tipo de resultado de la consulta proporcionada en el parámetro promql_query:
| Tipo de resultado | Columnas del resultado | Ejemplo |
|---|
| vector | tags Array(Tuple(String, String)), timestamp TimestampType, value ValueType | prometheusQuery(mytable, ‘up’) |
| matrix | tags Array(Tuple(String, String)), time_series Array(Tuple(TimestampType, ValueType)) | prometheusQuery(mytable, ‘up[1m]‘) |
| scalar | scalar ValueType | prometheusQuery(mytable, ‘1h30m’) |
| string | string String | prometheusQuery(mytable, ‘“abc”‘) |
Funciones de PromQL compatibles
Selectores instantáneos, selectores de rango, comparadores de etiquetas (=, !=, =~, !~), modificadores offset, modificadores de @ timestamp y subconsultas.
| Categoría | Funciones |
|---|
| Rango | rate, irate, delta, idelta, last_over_time |
| Matemáticas | abs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg |
| Trigonometría | sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh |
| DateTime | day_of_week, day_of_month, days_in_month, day_of_year, minute, hour, month, year |
| Type | scalar, vector |
| Histograma | histogram_quantile |
| Otras | time, pi |
Nota: histogram_quantile usa interpolación lineal en los buckets de histogramas clásicos (identificados por la etiqueta le). Los histogramas nativos aún no son compatibles, y el argumento phi (nivel de quantile) actualmente debe ser un escalar constante; las expresiones que varían en cada paso, como histogram_quantile(time() / 1000, ...), se rechazan con un error NOT_IMPLEMENTED.
Todos los operadores binarios aritméticos (+, -, *, /, %, ^), de comparación (==, !=, <, >, <=, >= con el modificador opcional bool) y lógicos (and, or, unless), con los modificadores on()/ignoring() y group_left()/group_right().
Operadores unarios + y -.
sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — con los modificadores opcionales by() o without().
Todavía no se admite: count_values.
SELECT * FROM prometheusQuery(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now())
Última modificación el 25 de junio de 2026