[rrd-users] CFúX - How does it consolidate?

scott.list scott.list at mlec.net
Mon Jul 29 23:26:50 MEST 2002


Can someone offer some help or insight on how the MAX CF does it's
thing at a more detailed level.  I've listed below the pertinant info
and my understandings of each where applicable:

My sample RRD has step of 60 seconds.  It gets fed data in the
neighborhood of 60 seconds (+- 2 sec).  Heartbeat of 180 secs and is
not missing any data in this example - no unknown datapoints.

DS type is GAUGE

RRA is set up with
  consolidation function CF = MAX
  steps = 5 (consolidated data point built from 5 primary data points
(5 samples, ~= 5 minutes)).

In a typical set of primary data fed at very close to 60 seconds:


rrdtool fetch shows for that consolidated data point a value of

1027974000: 1.2648333333e+02
(rounded and graphed at 126)

I get a graphed value of 126 (not the MAX of the set which was 128 in
this case).

I understand how an AVG CF needs to be interpolated to fit the exact
time sequences of the actual primary datapoints in the rrd, but for
MAX, how does rrd do the interpolation?  How does it look at the set
of data fed and come up with 126.483333?

In the example above, is rrdtool assuming there is a linear decrease
of the value between 128 and 125 during the times those 2 data were
fed-in and determined that it was 126.4 at the exact time of the
actual primary data point?  That would have to put the 128 WAY early
(30sec) and I'm pretty sure that's not happening.

It seems to me that for the MAX consolodation, rrdtool should find the
max value within the two actual datapoints and use them as is, with no
interpolation since it is a MAX we (I) want.

For simplicity, let say time itself just started and the rrd interval
was between the 2 timestamps of 1000 and 1300; a 300 second interval.
At time 1002 we add 121 (this was a "late" entry for previous
at 1059 we add 121
at 1122 we add 124
at 1179 we add 125
at 1240 we add 126
at 1301 we add 128

I assume rrd is fitting the 1301 value back to 1300 using some
interpolation.   But how exactly?

Thanks very much for the time to help/explain.


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