如何计算给定的时间平均值

时间:2010-02-09 10:15:40

标签: rrdtool rrd

Curretly我在rrdcgi中使用CDEF以下的设置来显示白天时间,即上午7点到晚上11点。是否有任何设置来计算特定时间段的平均值。我需要显示7天图,所以平均值应该是7天,白天(早上7点到晚上11点)。

<h3>7 Day Performance</h3>
<RRD::GRAPH
        <RRD::GETVAR PATH>/rrdimg/7dayperformance.png
        --title="Performance"
        -w 1048 -h 266
        --imginfo '<IMG SRC=<RRD::GETVAR PATH>/rrdimg/%s WIDTH=%lu HEIGHT=%lu >'
        DEF:p1=<RRD::GETVAR PATH>/data1.rrd:data:AVERAGE
        DEF:p2=<RRD::GETVAR PATH>/data2.rrd:data:AVERAGE
        CDEF:p=p1,p2,2,AVG

        CDEF:gate=p1,POP,LTIME,86400,%,3600,/,FLOOR,DUP,23,LT,*,6,GT,INF,UNKN,IF   #for daytime image
        --end=midnight
        --start=end-7d
        AREA:gate#e0e0ff:"Day time"
        LINE2:p#ff6666:"performance"

修改

我打算从早上7点到晚上11点过滤掉日志并创建新的rrd文件来创建图表。这是一个很好的approch。我不这么认为,因为它也会包含空值。

2 个答案:

答案 0 :(得分:1)

当您使用VDEF计算平均值时,它会构建有效数据的平均值,因为您已经将非办公时间数据转换为UNKN,您所拥有的只是使用VDEF,你应该得到你想要的东西。

答案 1 :(得分:0)

这可能是相同的情况,如果我可以在图表中绘制第二行,它在过去7天内在同一时间范围内平均

(所以像下午12:05的当前星期一时间是480值减去星期日12:05 PM或86,400秒前1天)或一周604800秒然后平均所有7到1个主要数据(技术上可能平均值为6因为我们正试图看看它应该在什么时候出现)这就像根据历史价值预测流量一样。

12:05太阳值= 970

12:05周六值= 900

12:05周五价值= 990

12:05周四价值= 940

12:05周三值= 900

12:05周二价值= 940

5640/6且12:05的平均值为940,图表中的12:05将绘制它

如果它现在在星期一的价值= 480但它应该是940我们有51%的下降或流量从平均值(不确定我是否需要做那个线图但我可以添加它)

由于因特网吨位而导致其设置每天都在变化的原因lol。所以说,就像在星期二1:05那样,很可能会去