PromQL のサポート

Google Cloud Managed Service for Prometheus への PromQL クエリは、Monitoring Query Language(MQL)を使用して Monarch バックエンドで部分的に評価されます。クエリ結果には違いがいくつかあります。このドキュメントでは、その違いについて説明します。

新しい PromQL 関数

最近追加された PromQL 関数がサポートされていない可能性があります。

指標名の一致

指標名の完全一致のみがサポートされています。

未更新

未更新は Monarch バックエンドでサポートされていません。

irate の計算

irate 関数のルックバック ウィンドウがステップサイズよりも小さい場合、ステップサイズに合わせてウィンドウが大きくなります。MQL では、すべての入力データが出力で完全に無視されないようにするため、この変更が必要になります。この違いは rate の計算にも適用されます。

rateincrease の計算

rate 関数のルックバック ウィンドウがステップサイズよりも小さい場合、ステップサイズに合わせてウィンドウが大きくなります。MQL では、すべての入力データが出力で完全に無視されないようにするため、この変更が必要になります。この違いは irate の計算にも適用されます。

補間計算と外挿計算に違いがあります。Monarch では Prometheus とは異なる補間アルゴリズムが使用されるため、この違いによってわずかに異なる結果が生じる可能性があります。たとえば、Monarch カウンタのサンプルは、Prometheus が使用している単一のタイムスタンプではなく、時間範囲で保存されます。したがって、Prometheus のタイムスタンプは除外されますが、Monarch のカウンタ サンプルはレート計算に含めることができます。

histogram_quantile の計算

サンプルのないヒストグラムに対する PromQL の histogram_quantile 計算では、NaN 値が生成されます。MQL の計算では値を生成しません。つまり、MQL はタイムスタンプの時点のポイントをドロップします。

レートの計算の違いは、histogram_quantile クエリへの入力にも影響します。