Avalia uma consulta do Prometheus usando dados de uma tabela 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 - O nome do banco de dados em que uma tabela TimeSeries está localizada.
time_series_table - O nome de uma tabela TimeSeries.
promql_query - Uma consulta escrita em sintaxe PromQL.
evaluation_time - O timestamp de avaliação. Para avaliar uma consulta no momento atual, use now()comoevaluation_time`.
A função pode retornar colunas diferentes, dependendo do tipo de resultado da consulta fornecida no parâmetro promql_query:
| Tipo de resultado | Colunas retornadas | Exemplo |
|---|
| 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”‘) |
Funcionalidades do PromQL compatíveis
Seletores instantâneos, seletores de intervalo, operadores de correspondência de rótulos (=, !=, =~, !~), modificadores offset, modificadores de timestamp com @ e subconsultas.
| Categoria | Funções |
|---|
| Intervalo | rate, irate, delta, idelta, last_over_time |
| Matemática | abs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg |
| Trigonometria | 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 |
| Tipo | scalar, vector |
| Histograma | histogram_quantile |
| Outros | time, pi |
Nota: histogram_quantile usa interpolação linear em buckets clássicos de histograma (identificados pelo rótulo le). Histogramas nativos ainda não têm suporte, e o argumento phi (nível de quantile) no momento deve ser um escalar constante — expressões que variam a cada passo, como histogram_quantile(time() / 1000, ...), são rejeitadas com o erro NOT_IMPLEMENTED.
Todos os operadores binários aritméticos (+, -, *, /, %, ^), de comparação (==, !=, <, >, <=, >= com bool opcional) e lógicos (and, or, unless), com os modificadores on()/ignoring() e group_left()/group_right().
Operadores unários + e -.
sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — com os modificadores opcionais by() ou without().
Ainda sem suporte para: count_values.
SELECT * FROM prometheusQuery(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now())
Última modificação em 25 de junho de 2026