Syntax
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.start_time- The start time of the evaluation range, with millisecond or finer precision.end_time- The end time of the evaluation range, with millisecond or finer precision.step- The step used to iterate the evaluation time fromstart_timetoend_time(inclusively).
Returned value
The function returns different columns depending on the result type of the query passed to parameterpromql_query:
The values are always
Float64 regardless of the type of the values in the TimeSeries table. The scale S of the timestamps is the scale
of the timestamps in the table, but not less than 3 (milliseconds). The time zone TZ is the time zone of start_time and end_time
if they have type DateTime or DateTime64 with the same time zone, otherwise it is the time zone of the timestamps in the table.
The samples column is named time_series if the TimeSeries table has version 2 or earlier.
Supported PromQL Features
Selectors
Instant selectors, range selectors, label matchers (=, !=, =~, !~), offset modifiers, @ timestamp modifiers, and subqueries.
Functions
Note:
histogram_quantile uses linear interpolation on classic histogram buckets (identified by the le label). Native histograms are not supported. The phi (quantile level) argument must be a constant scalar. Expressions that vary per step, such as histogram_quantile(time() / 1000, ...), are rejected with a NOT_IMPLEMENTED exception.
Note: ts_of_min_over_time, ts_of_max_over_time, ts_of_last_over_time, first_over_time, ts_of_first_over_time and mad_over_time are experimental functions in Prometheus (enabled there with --enable-feature=promql-experimental-functions); ClickHouse evaluates them without requiring that flag.
Operators
Arithmetic (+, -, *, /, %, ^, atan2) and comparison (==, !=, <, >, <=, >= with optional bool) binary operators, with on()/ignoring() and group_left()/group_right() modifiers.
Logical set operators and, or, and unless, with on()/ignoring() modifiers.
Unary operators + and -.
Aggregation Operators
sum, avg, min, max, count, count_values, stddev, stdvar, group, quantile, topk, bottomk, limitk — with optional by() or without() modifiers.