Skip to main content
Avalia uma consulta do Prometheus usando dados de uma tabela TimeSeries.

Sintaxe

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.
  • evaluation_time - O timestamp de avaliação, com precisão de milissegundos ou superior. Para avaliar uma consulta no momento atual, use now() como evaluation_time.

Valor retornado

A função retorna colunas diferentes, dependendo do tipo de resultado da consulta fornecida no parâmetro promql_query: Os valores são sempre do tipo Float64, independentemente do tipo dos valores na tabela TimeSeries. A escala S dos timestamps é a escala dos timestamps na tabela, mas nunca inferior a 3 (milissegundos). O fuso horário TZ é o fuso horário de evaluation_time se ele for do tipo DateTime ou DateTime64 com um fuso horário; caso contrário, é o fuso horário dos timestamps na tabela. A coluna samples recebe o nome time_series se a tabela TimeSeries tiver version 2 ou anterior.

Funcionalidades do PromQL compatíveis

Seletores

Seletores instantâneos, seletores de intervalo, operadores de correspondência de rótulos (=, !=, =~, !~), modificadores offset, modificadores de timestamp com @ e subconsultas.

Funções

Nota: histogram_quantile usa interpolação linear em buckets clássicos de histograma (identificados pelo rótulo le). Histogramas nativos não têm suporte. O argumento phi (nível de quantile) deve ser um escalar constante. Expressões que variam a cada passo, como histogram_quantile(time() / 1000, ...), são rejeitadas com uma exceção NOT_IMPLEMENTED. Nota: min_of(a, b) e max_of(a, b) retornam, respectivamente, o menor ou o maior de dois valores escalares. Ambos os argumentos devem ser escalares. Nota: min_of, max_of, ts_of_min_over_time, ts_of_max_over_time, ts_of_last_over_time, first_over_time, ts_of_first_over_time e mad_over_time são funções experimentais no Prometheus (habilitadas lá com --enable-feature=promql-experimental-functions); o ClickHouse as avalia sem exigir essa flag.

Operadores

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

Operadores de agregação

sum, avg, min, max, count, count_values, stddev, stdvar, group, quantile, topk, bottomk, limitk — com os modificadores opcionais by() ou without().

Exemplo