Pular para o conteúdo principal
Avalia uma consulta do Prometheus usando dados de uma tabela TimeSeries em um intervalo de momentos de avaliação.

Sintaxe

prometheusQueryRange('db_name', 'time_series_table', 'promql_query', start_time, end_time, step)
prometheusQueryRange(db_name.time_series_table, 'promql_query', start_time, end_time, step)
prometheusQueryRange('time_series_table', 'promql_query', start_time, end_time, step)

Argumentos

  • 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.
  • start_time - O horário de início do intervalo de avaliação.
  • end_time - O horário de término do intervalo de avaliação.
  • step - O passo usado para percorrer o tempo de avaliação de start_time até end_time (inclusive).

Valor retornado

A função pode retornar colunas diferentes, dependendo do tipo de resultado da consulta passada no parâmetro promql_query:
Tipo de resultadoColunas retornadasExemplo
vectortags Array(Tuple(String, String)), timestamp TimestampType, value ValueTypeprometheusQuery(mytable, ‘up’)
matrixtags Array(Tuple(String, String)), time_series Array(Tuple(TimestampType, ValueType))prometheusQuery(mytable, ‘up[1m]‘)
scalarscalar ValueTypeprometheusQuery(mytable, ‘1h30m’)
stringstring StringprometheusQuery(mytable, ‘“abc”‘)

Funcionalidades do PromQL compatíveis

Seletores

Seletores instantâneos, seletores de intervalo, correspondências de labels (=, !=, =~, !~), modificadores de offset, modificadores @ de timestamp e subconsultas.

Funções

CategoriaFunções
Intervalorate, irate, delta, idelta, last_over_time
Matemáticaabs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg
Trigonometriasin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh
DateTimeday_of_week, day_of_month, days_in_month, day_of_year, minute, hour, month, year
Typescalar, vector
Histogramahistogram_quantile
Outrostime, pi
Nota: histogram_quantile usa interpolação linear em buckets de histogramas clássicos (identificados pelo label le). Histogramas nativos ainda não têm suporte, e o argumento phi (nível do quantil) no momento precisa ser um escalar constante — expressões que variam a cada passo, como histogram_quantile(time() / 1000, ...), são rejeitadas com o erro NOT_IMPLEMENTED.

Operadores

Todos os operadores binários aritméticos (+, -, *, /, %, ^), de comparação (==, !=, <, >, <=, >= com o modificador opcional bool) e lógicos (and, or, unless), com os modificadores on()/ignoring() e group_left()/group_right(). Operadores unários + e -.

Operadores de agregação

sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — com os modificadores opcionais by() ou without(). Ainda não há suporte para: count_values.

Exemplo

SELECT * FROM prometheusQueryRange(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now() - INTERVAL 10 MINUTES, now(), INTERVAL 1 MINUTE)
Última modificação em 25 de junho de 2026