Compatibilité de PromQL

Les requêtes PromQL envoyées à Google Cloud Managed Service pour Prometheus sont partiellement évaluées au niveau du backend Monarch à l'aide du langage MQL (Monitoring Query Language) et il existe des différences connues dans les résultats de la requête. Ce document décrit les différences.

Nouvelles fonctions PromQL

Les fonctions PromQL ajoutées récemment peuvent ne pas être compatibles.

Correspondance les noms de métriques

Seule une correspondance exacte avec les noms de métriques est acceptée.

Obsolescence

L'obsolescence n'est pas disponible dans le backend Monarch.

Calcul de irate

Lorsque la période d'analyse de la fonction irate est inférieure à la taille de l'étape, nous augmentons cette période à la taille de l'étape. Cette modification est nécessaire dans MQL afin de s'assurer qu'aucune des données d'entrée n'est complètement ignorée dans le résultat. Cette différence s'applique également aux calculs de rate.

Calcul de rate et increase

Lorsque la période d'analyse de la fonction rate est inférieure à la taille de l'étape, nous augmentons cette période à la taille de l'étape. Cette modification est nécessaire dans MQL afin de s'assurer qu'aucune des données d'entrée n'est complètement ignorée dans le résultat. Cette différence s'applique également aux calculs de irate.

Il existe des différences dans les calculs d'interpolation et d'extrapolation. Monarch utilise un algorithme d'interpolation différent de celui de Prometheus, et cette différence peut produire des résultats légèrement différents. Par exemple, les échantillons de compteur Monarch sont stockés avec une période, alors que Prometheus utilise un seul horodatage. Par conséquent, les échantillons de compteur Monarch peuvent être inclus dans un calcul de taux, même si l'horodatage Prometheus l'exclut.

Calcul de histogram_quantile

Un calcul PromQL de histogram_quantile sur un histogramme sans échantillon génère une valeur NaN. Le calcul MQL n'affiche aucune valeur. Autrement dit, MQL supprime le point à l'horodatage.

Les différences de calcul de taux peuvent également affecter l'entrée des requêtes histogram_quantile.