[rrd-users] Newbie -- Trouble adding 2 values to RRD DB

Alex van den Bogaerdt alex at ergens.op.het.net
Wed Feb 13 18:19:32 CET 2008

On Wed, Feb 13, 2008 at 04:55:00PM +0000, Neil Saunders wrote:
> Alex,
> Thanks for your reply. Yes, but I assumed that would just mean that
> only the 11 minutes/PDPs *after* the first reading would be marked as
> unknown (21 minutes between the two readings, 11 of which have passed
> the 600s timeout).
> I appreceiate that this is my misunderstanding, but I'm still not any
> closer to understanding where I'm going wrong.

OK, it seemed that you understand, but now it shows you don't.

Here's how I think it works:

Updates can happen at any time, as long as their timestamp is further
in time than the previous update.

Now known are:
1: a value
2: a previous value
3: a time interval (current timestamp minus previous timestamp)

Depending on what kind of Data Source Type (DST) this is, rrdtool may
need to compute a rate. In case of a GAUGE, rrdtool will just use the
current value, in case of an ABSOLUTE rrdtool will divide the current
value by the time interval, COUNTER and DERIVE will use the difference
between the two values divided by the time interval.

Now known are:
1: a rate
2: a time interval

If the rate is too low or too high (as defined by DS min and DS max)
the rate becomes unknown.

If the time interval is too large (as defined by DS heartbeat), the
rate becomes unknown.

And of course the rate could have been unknown to begin with, if this
was given to rrdtool as an input.

Now known:
1: a rate, with more chances of being unknown
2: a time interval

At this point rrdtool fill look if it can fill one or more PDPs. These
are of duration 'step'.  And these PDPs are then used to build CDPs.
Above part is normalization and consolidation. As you see, this happens
after rrdtool looked at heartbeat, min, max, DST, and so on.

Alex van den Bogaerdt

More information about the rrd-users mailing list