[rrd-users] Re: rrdtool with unregular data flow

Alex van den Bogaerdt alex at ergens.op.het.net
Fri Jan 27 01:27:54 MET 2006

On Thu, Jan 26, 2006 at 11:39:25PM +0000, Maik Töpfer wrote:

> I'm trying to set up the rrdtool in an environment where no real  
> static information flow exists. This means sometimes data arrives  
> more often sometimes it doesn't arrive at  all.

So, lack of data also has a meaning?

> I set up a database file:
> rrdtool create maik.rrd --step 2 DS:fts:GAUGE:2:U:U RRA:AVERAGE: 
> 0.5:1:3600

Meaning: the time between two updates must not be less than 2 seconds.

> 1 second: 100

Update at the start, update a second later.  This will fly.

> 2 seconds: nothing
> 3 seconds: nothing
> 4 seconds: nothing
> 5 seconds: nothing
> 6 seconds 120

Last update 5 seconds ago, more than heartbeat.

> 7 seconds: nothing
> ...
> 19 seconds: nothing
> 20 seconds 140

Last update 14 seconds ago, more than heartbeat.

> I don't want to extend the heartbeat intervall too much since in some  
> areas i will have a constant dataflow, in some not. But I rather want  
> to display the fact that there where no data points (na) than  
> consolidating the data over a longer intervall.

Try forcing an update with U (NaN) just before and after the updates
you're already doing.

By the way: do you really want step==2 ?

> what can i do to see the actual stored data with the fetch command if  
> there are also bigger gaps between certain datapoints?

RRDtool does not store data.  RRDtool stores a computed rate.
Sometimes these are very close (or even the same) but you have to
keep that in mind when you fiddle with the control knobs.

Is this what you want:


1138320000: 1.0000000000e+02
1138320002: nan
1138320004: nan
1138320006: 1.2000000000e+02
1138320008: nan
1138320010: nan
1138320012: nan
1138320014: nan
1138320016: nan
1138320018: nan
1138320020: 1.4000000000e+02
1138320022: nan
1138320024: nan


If so:
rrdtool create maik.rrd --start $((TIME-1)) --step 2 DS:fts:GAUGE:2:U:U RRA:AVERAGE:0.5:1:3600
rrdtool update maik.rrd $((TIME)):U
rrdtool update maik.rrd $((TIME+1)):100
rrdtool update maik.rrd $((TIME+2)):U
rrdtool update maik.rrd $((TIME+5)):U
rrdtool update maik.rrd $((TIME+6)):120
rrdtool update maik.rrd $((TIME+7)):U
rrdtool update maik.rrd $((TIME+19)):U
rrdtool update maik.rrd $((TIME+20)):140
rrdtool update maik.rrd $((TIME+21)):U

rrdtool fetch maik.rrd AVERAGE --start $TIME --end $((TIME+25))

You need to remember "TIME+6" until you are going to do TIME+20.  At
that point in time, you update TIME+7 and TIME+19, followed by TIME+20.
So: set previous_time+1 and current_time-1 to U,
set current_time to the input rate.

Alex van den Bogaerdt

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://lists.ee.ethz.ch/rrd-users
WebAdmin    http://lists.ee.ethz.ch/lsg2.cgi

More information about the rrd-users mailing list