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

PromQL 関数 rate() と irate() はどちらも時系列の変化率を計算する関数ですが、少し違いがあります。

レート()関数は、指定された時間範囲内の平均変化率を計算します。これは、時間範囲内のサンプル値の差を、時間範囲の継続時間に除算します。つまり、時間範囲内のすべてのサンプル値を考慮して、それらの平均変化率を計算します。たとえば、ある時系列の過去5分間のサンプル値がそれぞれ10、20、30の場合、レート()関数は(30-10)/5=4の変化率を計算します。

irate()関数は、直近2つのサンプル値の瞬間的な変化率を算出します。時間範囲内の他のサンプル値は考慮せず、直近2つのサンプル値間の変化率のみを算出します。つまり、より短い時間ウィンドウ内の変動に対して敏感になります。例えば、タイムシリーズの5分間のサンプル値がそれぞれ10、20、30であれば、irate()関数は(30 – 20) / (時間差)の変化率を算出します。

そのため、rate() 関数は長い期間の変化率を計算することに適しており、irate() 関数は短い窓内の変化率を瞬時に計算することに適しています。アプリケーションでは、必要に応じて適切な関数を選択して時系列の変化率を計算します。

bannerAds