サポートされている PromQL の機能

ラベル付きメトリックは、PromQL クエリ言語を用いてグラフに表示できます。Mackerel では、PromQL の以下の機能がサポートされています。

時系列セレクタ

修飾子

集計演算子

また、集計に用いるラベルを制御する bywithout 修飾子に対応しています。

二項演算子

(vector) x (vector)(vector) x (scalar)(scalar) x (vector)(scalar) x (scalar) の 4 パターンで定義されます。

ベクトル同士の演算を実現するために、ベクトルマッチングという仕組みが実装されています。一対一対応(算術・比較演算子)と多対多対応(集合演算子)は既に実装が完了しています。

group_leftgroup_right 修飾子を用いた一対多対応は未実装です。

算術演算子

比較演算子

集合演算子

関数

カウンタ用の計算関数

<aggregation>_over_time 関数

ラベル関数

型変換関数

変数

表示範囲に関する変数が利用できます。

範囲を表す変数

  • $__intervalは表示範囲から決定されるグラフ上の点の間隔です。<aggregation>_over_time関数と併用することで隣の点との計算を表現できます。
  • $__rate_intervalは表示範囲から決定される間隔です。点の間隔である$__interval以上の値が設定されるため、irate()increase()と組み合わせると有用です。
  • $__rangeは表示範囲です。

範囲を表す変数はデフォルトでは秒数に展開されます。${<変数名>:milliseconds}のように表記することでミリ秒表記で展開されます。

時刻を表す変数

$__from$__toはそれぞれ表示範囲の開始時刻と終了時刻を表すUNIX秒に展開されます。