在 Prometheus 中,delta()
函數的主要作用是計算時間範圍內,頭尾樣本點(共兩個)的變化量。
idelta()
是取最後兩個點進行計算。
delta()
函數在計算變化量時,會考慮時間範圍內的樣本點,並將這些變化量外推(extrapolate)到完整的時間範圍。而取樣的點通常不在時間範圍的起始和結束的點位,這意味著 delta()
計算的時候,需要對樣本點的變化量進行外推,使得這個變化量適用於完整的時間範圍。
範例:
假設有一個指標:
T0
值為 100T1
值為 110- 計算時間範圍為 600秒
- 實際頭尾樣本點的時間間隔 540秒
- 計算
T0
和T1
兩點的變化量:110 - 100 = 10
- 計算每秒平均變化量:
10 / 540 ≈ 0.01852
- 外推變化量到完整的時間範圍:
0.01852 * 600 ≈ 11.11
因此,儘管原始的樣本值是整數,外推後的結果可能不是整數。