Skip to main content
Skip to main content

prometheusQuery

Evaluates a prometheus query using data from a TimeSeries table.

Syntax

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)

Arguments

  • db_name - The name of the database where a TimeSeries table is located.
  • time_series_table - The name of a TimeSeries table.
  • promql_query - A query written in PromQL syntax.
  • evaluation_time - The evaluation timestamp. To evaluate a query at the current time, use now()asevaluation_time`.

Returned value

The function can returns different columns depending on the result type of the query passed to parameter promql_query:

Result TypeResult ColumnsExample
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"')

Supported PromQL Features

Selectors

Instant selectors, range selectors, label matchers (=, !=, =~, !~), offset modifiers, @ timestamp modifiers, and subqueries.

Functions

CategoryFunctions
Rangerate, irate, delta, idelta, last_over_time
Mathabs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg
Trigsin, 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
Histogramhistogram_quantile
Othertime, pi

Note: histogram_quantile uses linear interpolation on classic histogram buckets (identified by the le label). Native histograms are not yet supported, and the phi (quantile level) argument must currently be a constant scalar — expressions that vary per step such as histogram_quantile(time() / 1000, ...) are rejected with a NOT_IMPLEMENTED error.

Operators

All arithmetic (+, -, *, /, %, ^), comparison (==, !=, <, >, <=, >= with optional bool), and logical (and, or, unless) binary operators, with on()/ignoring() and group_left()/group_right() modifiers.

Unary operators + and -.

Aggregation Operators

sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — with optional by() or without() modifiers.

Not yet supported: count_values.

Example

SELECT * FROM prometheusQuery(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now())