[rrd-developers] Re: RRD DERIVE Data type, invalid inputs.

Alex van den Bogaerdt alex at ergens.op.het.net
Thu Nov 25 16:41:08 MET 2004


On Thu, Nov 25, 2004 at 09:52:56AM -0500, Greg Prosser wrote:
> Hi Guys,
> I'm not sure what combination of environments contributed to this, but
> I've discovered what I believe is a bug in the handling of rrdtool's
> DERIVE data source, specifically in the handling of invalid data checking
> during updates.

Can counters, or rates, become negative ?
Derive is essentially a COUNTER type.

A small test script may show what happens:

>---- cut here ----<
#!/bin/bash

dstype=DERIVE

rrdtool create test.rrd --start 1101395700 DS:rate:$dstype:100000:U:U RRA:AVERAGE:0.5:1:20

rrdtool update test.rrd 1101396000:-200
rrdtool update test.rrd 1101396300:40
rrdtool update test.rrd 1101396600:30
rrdtool update test.rrd 1101396900:35
rrdtool update test.rrd 1101397200:+20
rrdtool update test.rrd 1101397500:40

rrdtool fetch test.rrd --start 1101395700 --end 1101397500 AVERAGE
>---- cut here ----<

Try with GAUGE, COUNTER, DERIVE

Currently it seems no problem to have a negative rate but it is a problem
to have a negative counter value.

Interestingly the current behaviour is to not complain when the negative
number is following an unknown.  The negative number does not seem to be
stored, I'd expect (-200 to 40)/300 to become 0.8 in stead of NaN:

(edited my script to use DERIVE)
    $ sh do_test
    ERROR: not a simple integer: '+20'
    timestamp    rate

    1101395700:  nan
    1101396000:  nan
    1101396300:  nan
    1101396600:  -3.3333333333e-02
    1101396900:  1.6666666667e-02
    1101397200:  8.3333333333e-03
    1101397500:  8.3333333333e-03

RRDtool didn't complain about the first update (1101396000) and
also did not compute 0.8 for interval 1101396000 to 1101396300.

cheers,
Alex
-- 
I ask you to respect any "Reply-To" and "Mail-Follow-Up" headers.  If
you reply to me off-list, you'd better tell me you're doing so.  If
you don't, and if I reply to the list, that's your problem, not mine.

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



More information about the rrd-developers mailing list