2013-12-16 105 views
1

我用一個小時的粒度將數據導入石墨中。例如如何獲得一週中每天的移動平均值?

2013-12-06-12:00 15 
2013-12-08-09:00 14 
2013-12-09-12:00  3 
2013-12-13-00:00 10 
2013-12-14-08:00 20 
2013-12-14-09:00  1 
2013-12-15-00:00  5 
2013-12-16-00:00 11 
2013-12-16-02:00 12 

...等等

現在,我希望能夠繪製成「每天在本週演變的價值」這使實際值顯示是幾星期內這一特定星期幾(例如2周)的總和(或平均值)。

我的圖形會是什麼樣子,如果我只能看看上週:

^  21 
20|  | 
    |  | 
    | 12.5|  13 
10| | | 9.5 | 
    | | | | | 
    | | | | | 
0+---------------------------------> 
    Mon Tue Wed Thu Fri Sat Sun 
    12 13 14 15 16 

因此,例如,對於「星期五」點,這需要今天(11 + 12)的值時, (3)的平均值和((11 + 12)+3)/ 2的平均值

這是可能的,怎麼樣?

+0

我發現http://graphite.readthedocs.org/en/latest/functions.html#graphite.render.functions.timeShift和那個http://graphite.readthedocs.org/en/latest/functions的.html#graphite.render.functions.timeStack –

回答

3

summarize(your.metric.goes.here, "1week", "sum")將通過總結1周的時間間隔內的數據。你可以在also那裏使用avg,max,min。

就語義go-Timers而言,通常需要進行平均,並在彙總時計數器需要求和。

例如:如果測量lap-countslap-times當你每天跑步,並希望每週彙總,您平均七的lap-time天,分配給一個每週lap-time。用lap-count,知道總數就更有意義了,所以你總和吧。

在不同的音符:timeStacktimeShift的情況下比較在同一個時間軸上個月與這個月的數據被用於當你想。另外,你也可以timeShift摘要數據。

1

我覺得你正在尋找的是timeStackaverageSeries的組合。例如:

averageSeries(timeStack(your.metric.here,"1week", 0, 2)) 

其中最後兩個參數是要合併(因此獲得了一系列本週各前2周)的「1周」系列的範圍。