Saltar al contenido principal
Evalúa una consulta de Prometheus con datos de una tabla TimeSeries en un intervalo de tiempos de evaluación.

Sintaxis

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 - El nombre de la base de datos donde se encuentra la tabla TimeSeries.
  • time_series_table - El nombre de una tabla TimeSeries.
  • promql_query - Una consulta escrita en sintaxis PromQL.
  • start_time - La hora de inicio del intervalo de evaluación.
  • end_time - La hora de finalización del intervalo de evaluación.
  • step - El paso utilizado para iterar el tiempo de evaluación desde start_time hasta end_time (ambos inclusive).

Valor devuelto

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 resultadoColumnas de resultadoEjemplo
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”‘)

Características de PromQL compatibles

Selectores

Selectores instantáneos, selectores de rango, comparadores de etiquetas (=, !=, =~, !~), modificadores offset, modificadores de marca temporal @ y subconsultas.

Funciones

CategoríaFunciones
Rangorate, irate, delta, idelta, last_over_time
Matemáticasabs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg
Trigonometríasin, 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
Tiposcalar, vector
Histogramahistogram_quantile
Otrostime, 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 cuantil) debe ser actualmente un escalar constante; las expresiones que varían en cada paso, como histogram_quantile(time() / 1000, ...), se rechazan con un error NOT_IMPLEMENTED.

Operadores

Todos los operadores binarios aritméticos (+, -, *, /, %, ^), de comparación (==, !=, <, >, <=, >= con bool opcional) y lógicos (and, or, unless), junto con los modificadores on()/ignoring() y group_left()/group_right(). Operadores unarios + y -.

Operadores de agregación

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.

Ejemplo

SELECT * FROM prometheusQueryRange(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now() - INTERVAL 10 MINUTES, now(), INTERVAL 1 MINUTE)
Última modificación el 29 de junio de 2026