2013-10-08 66 views

回答

0

,首先我們需要兩個不同的圖形:

  • a.metric.count
  • timeShift(a.metric.count, "1h")

接下來,我們需要按小時,總結這些使用記錄每個小時的最後一個值:

  • summarize(a.metric.count, "1h", "last")
  • summarize(timeShift(a.metric.count, "1h"), "1h", "last")

現在我們只需要顯示兩個圖的區別:

diffSeries(summarize(timeShift(a.metric.count, "1h"), "1h", "last"), summarize(a.metric.count, "1h", "last"))

用這種方法唯一的問題是,最新的每小時的數據是錯誤的,因爲有在非時移圖表上沒有「最後」值,這意味着圖表將會激增

5

使用derivative函數,如此處所述:http://graphite.readthedocs.org/en/1.0/functions.html#graphite.render.functions.derivative

這將在每個數據點處顯示從先前時間序列數據點增加的值。

如果你想查看它在每個小時的基礎上,你可以使用summarize,如記錄在這裏:所以http://graphite.readthedocs.org/en/1.0/functions.html#graphite.render.functions.summarize

,以查看.Count中每小時的增加,你可以這樣做:

summarize(derivative(a.metric.count), "1hour")

+0

當我的「不斷增加的」計數器在某個點(環聊等)下降到零時會出現什麼情況,我應該使用''''''''''''''''''' ? –

0

而且使用diffSeries,但生成更好的圖形一點點:

diffSeries(
    sumSeries(a.metric.count), 
    sumSeries(timeShift(a.metric.count, "1h")) 
) 

如果你想避免結束秒殺,你可以使用雙偏移:

diffSeries(
    sumSeries(timeShift(a.metric.count, "1h")), 
    sumSeries(timeShift(a.metric.count, "2h")) 
) 

請記住,用這種方法,你會後面的小偏移量。