[rrd-users] Re: Avoiding pitfalls when using GAUGE with some kind of data

Cristian Ghezzi rrd-users01 at ghezzi.net
Sun Aug 22 11:04:54 MEST 2004


Serge,


You are not taking into consideration the content of the email you are 
replying to.
Your answer is mixing all my previous emails and is not adding anything 
new to the discussion, I'm afraid.
Even so, it is a good summary, very well structured although incomplete.

>These would only be pifalls if your conception of rrdtool is:
>- it waits to collect all updates within an interval.
>- it then will pick the maximum of all updates for the MAX RRA
>- it will calculate the average of all values within the step
>  and will transport that value to the AVERAGE RRA, and so on.
>
>  
>
This is what I suggest RRDtool should do (as an option), since one of my 
first emails (using different words).

>This is a misconception though.
>Rrdtool is is a rate calculating, storing and graphing tool.
>
>I would yield very strange results if it would work your way.
>  
>
In my last mail I show it gives very strange results already, for some 
kind of data.
Show me the "bus stop" example is flawed and I will agree with you.

>Most people update rrdtool databases from scripts running as
>A cron-job. What if one update was 1 second late and the next
>One was 1 second early? Your database would say (NaN), 
>(number without useful meaning) i.s.o. 2 very useful, but 
>slightly corrected Values (time shifted and interpolated to 
>the step interval).
>  
>
Most people are plotting "complete functions" of time (not sure about 
the technical term), so resampling is a good thing for them. The 
remaining people are either plotting slightly incorrect graphs without 
even realising it or they are lucky enough to always insert values 
step-aligned. Or they just don't use RRDtool because it doesn't work for 
them. I'm a lucky one. Or I might just be wrong, which is the reason why 
I'm writing to the list hoping someone could open my eyes.

>To get back at your previous MAX problem, compare the output of:
>
>rrdtool create test.rrd --start 1093110000 --step 600
>DS:people:GAUGE:1200:U:U RRA:MAX:0.5:1:6
>rrdtool update test.rrd 1093110600:10
>rrdtool update test.rrd 1093110750:20
>rrdtool update test.rrd 1093111199:300
>rrdtool update test.rrd 1093111201:10
>rrdtool fetch test.rrd MAX --start 1093110000 --end 1093112400
>
>With the output of:
>
>rm test.rrd
>rrdtool create test.rrd --start 1093110000 --step 1
>DS:people:GAUGE:1200:U:U RRA:MAX:0.5:600:6
>rrdtool update test.rrd 1093110600:10
>rrdtool update test.rrd 1093110750:20
>rrdtool update test.rrd 1093111199:300
>rrdtool update test.rrd 1093111201:10
>rrdtool fetch test.rrd MAX --start 1093110000 --end 1093112400
>
>Setting the step size to 1 second will give you the output you want.
>Aligning your updates to the step interval will do that too
>  
>
This was first pointed out by Alex and I agree on it, even if I felt it 
was sort of a hack. But this is a different case.
Can you show me a solution applied to the AVERAGE case of the "bus stop" 
example?


Thank you


Cristian


--
Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
Help        mailto:rrd-users-request at list.ee.ethz.ch?subject=help
Archive     http://www.ee.ethz.ch/~slist/rrd-users
WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi



More information about the rrd-users mailing list