PromQLのrate()とirate()の違い

はじめに

Prometheusから取得したトラフィックのデータをGrafanaで可視化する際に、rate()では瞬間的なトラフィックの値をうまく計算できなかったので、その解決策などを調べた記録です。

irate()とは

PromQLのrate()は1秒あたりの平均の増加量を計算します。
なので、アクセスカウンターのようなじわじわと増加するメトリックに対しては、こちらでOKです。
prometheus.io
一方irate()は、最後の2点のデータに基づいて増加量を計算します。
微分値のようなイメージです。
なので、瞬間的なスパイクを捉えることができます。
prometheus.io

おわりに

ネットワークトラフィックの様子を可視化するときに、スピードテストをした際のスパイクを捉えたい場合などはirate()の方が適しています。
PromQLはまだちゃんと理解していない点が多いので、頑張って勉強したいです。