Compatibilidade com promQL

As consultas da PromQL para o serviço gerenciado do Google Cloud para o Prometheus são parcialmente avaliadas no back-end do Monarch usando a linguagem de consulta do Monitoring (MQL, na sigla em inglês) e há algumas diferenças conhecidas nos resultados da consulta. Veja neste documento as diferenças.

Novas funções do PromQL

As funções adicionadas recentemente ao PromQL podem não ser compatíveis.

Como corresponder com nomes de métricas

Só é possível fazer a correspondência exata com nomes de métricas.

Inatividade

A inatividade não é compatível com o back-end do Monarch.

Cálculo de irate

Quando a janela de lookback da função irate é menor que o tamanho da etapa, aumentamos a janela para o tamanho da etapa. A MQL requer essa mudança para garantir que nenhum dos dados de entrada seja completamente ignorado na saída. Essa diferença também se aplica a cálculos rate.

Cálculo de rate e increase

Quando a janela de lookback da função rate é menor que o tamanho da etapa, aumentamos a janela para o tamanho da etapa. A MQL requer essa mudança para garantir que nenhum dos dados de entrada seja completamente ignorado na saída. Essa diferença também se aplica a cálculos irate.

Há diferenças nos cálculos de interpolação e extrapolação. O Monarch usa um algoritmo de interpolação diferente do Prometheus, e essa diferença pode levar a resultados um pouco diferentes. Por exemplo, as amostras do contador Monarch são armazenadas com um intervalo de tempo em vez do único carimbo de data/hora usado pelo Prometheus. Portanto, as amostras de contador no Monarch podem ser incluídas em um cálculo de taxa, mesmo que o carimbo de data/hora do Prometheus as exclua.

Cálculo de histogram_quantile

Um cálculo histogram_quantile do PromQL em um histograma sem amostras produz um valor NaN. O cálculo da MQL não produz valor. ou seja, a MQL descarta o ponto no carimbo de data/hora.

As diferenças de cálculo de taxa também podem afetar a entrada em consultas histogram_quantile.