> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Avalia uma consulta do Prometheus usando dados de uma tabela TimeSeries.

# prometheusQuery

Avalia uma consulta do Prometheus usando dados de uma tabela TimeSeries.

<div id="syntax">
  ## Sintaxe
</div>

```sql theme={null}
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)
```

<div id="arguments">
  ## Argumentos
</div>

* `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](https://prometheus.io/docs/prometheus/latest/querying/basics/).
* `evaluation_time - O timestamp de avaliação. Para avaliar uma consulta no momento atual, use `now()`como`evaluation\_time\`.

<div id="returned_value">
  ## Valor retornado
</div>

A função pode retornar colunas diferentes, dependendo do tipo de resultado da consulta fornecida no parâmetro `promql_query`:

| Tipo de resultado | Colunas retornadas                                                                     | Exemplo                             |
| ----------------- | -------------------------------------------------------------------------------------- | ----------------------------------- |
| vector            | tags Array(Tuple(String, String)), timestamp TimestampType, value ValueType            | prometheusQuery(mytable, 'up')      |
| matrix            | tags Array(Tuple(String, String)), time\_series Array(Tuple(TimestampType, ValueType)) | prometheusQuery(mytable, 'up\[1m]') |
| scalar            | scalar ValueType                                                                       | prometheusQuery(mytable, '1h30m')   |
| string            | string String                                                                          | prometheusQuery(mytable, '"abc"')   |

<div id="supported-promql-features">
  ## Funcionalidades do PromQL compatíveis
</div>

<div id="selectors">
  ### Seletores
</div>

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

<div id="functions">
  ### Funções
</div>

| Categoria     | Funções                                                                                          |
| ------------- | ------------------------------------------------------------------------------------------------ |
| Intervalo     | `rate`, `irate`, `delta`, `idelta`, `last_over_time`                                             |
| Matemática    | `abs`, `sgn`, `floor`, `ceil`, `sqrt`, `exp`, `ln`, `log2`, `log10`, `rad`, `deg`                |
| Trigonometria | `sin`, `cos`, `tan`, `asin`, `acos`, `atan`, `sinh`, `cosh`, `tanh`, `asinh`, `acosh`, `atanh`   |
| DateTime      | `day_of_week`, `day_of_month`, `days_in_month`, `day_of_year`, `minute`, `hour`, `month`, `year` |
| Tipo          | `scalar`, `vector`                                                                               |
| Histograma    | `histogram_quantile`                                                                             |
| Outros        | `time`, `pi`                                                                                     |

**Nota**: `histogram_quantile` usa interpolação linear em buckets clássicos de histograma (identificados pelo rótulo `le`). Histogramas nativos ainda não têm suporte, e o argumento `phi` (nível de quantile) no momento deve ser um escalar constante — expressões que variam a cada passo, como `histogram_quantile(time() / 1000, ...)`, são rejeitadas com o erro `NOT_IMPLEMENTED`.

<div id="operators">
  ### Operadores
</div>

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

Operadores unários `+` e `-`.

<div id="aggregation-operators">
  ### Operadores de agregação
</div>

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

Ainda sem suporte para: `count_values`.

<div id="example">
  ## Exemplo
</div>

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