Compatibilidad con PromQL

Las consultas de PromQL en Google Cloud Managed Service para Prometheus se evalúan de forma parcial en el backend de Monarch mediante el lenguaje de consultas de Monitoring (MQL) y existen algunas diferencias conocidas en los resultados de la consulta. En este documento, se describen las diferencias.

Aparte de las diferencias que se mencionan en este documento, PromQL en Managed Service para Prometheus está a la par de PromQL disponible en la versión 2.44 de Prometheus.

Nuevas funciones de PromQL

Es posible que las funciones de PromQL agregadas después de la versión 2.44 de Prometheus no sean compatibles.

Coincidencias en nombres de métricas

Solo se admite la coincidencia exacta en los nombres de métricas.

Inactivo

La inactividad no es compatible con el backend de Monarch.

Cálculo de irate

Cuando el período de visualización de la función irate es menor que el tamaño del paso, aumentamos la ventana al tamaño del paso. MQL requiere este cambio para garantizar que ninguno de los datos de entrada se ignore por completo en el resultado. Esta diferencia también se aplica a los cálculos de rate.

Cálculo de rate y increase

Cuando el período de visualización de la función rate es menor que el tamaño del paso, aumentamos la ventana al tamaño del paso. MQL requiere este cambio para garantizar que ninguno de los datos de entrada se ignore por completo en el resultado. Esta diferencia también se aplica a los cálculos de irate.

Existen diferencias en los cálculos de interpolación y extrapolación. Monarch usa un algoritmo de interpolación diferente al de Prometheus, y esta diferencia puede generar resultados un poco diferentes. Por ejemplo, los ejemplos de contador Monarch se almacenan con un intervalo de tiempo en lugar de la marca de tiempo única que usa Prometheus. Por lo tanto, las muestras de contadores en Monarc se pueden incluir en un cálculo de frecuencia aunque la marca de tiempo de Prometheus las excluya. Por lo general, esto da como resultado resultados más precisos, en especial cuando se consulta el principio o el final de las series temporales subyacentes.

Cálculo de histogram_quantile

Un cálculo de histogram_quantile de PromQL en un histograma sin muestras produce un valor de NaN. El cálculo de MQL no produce ningún valor. Es decir, MQL descarta el punto en la marca de tiempo.

Las diferencias de cálculo de frecuencia también pueden afectar la entrada a las consultas histogram_quantile.

Funciones de tipo específico en métricas de tipado diferente

Aunque Prometheus upstream es de tipado débil, Monarch es de tipado fuerte. Esto significa que la ejecución de funciones específicas de un solo tipo en una métrica de tipado diferente (por ejemplo, ejecutar rate() en una métrica GAUGE o histogram_quantile() en una métrica COUNTER o sin tipado) no funcionará en Managed Service para Prometheus, aunque estas funciones funcionan en Prometheus upstream.