[rrd-users] Concatenated VDEF and CDEF commands in a rrdtool graph cmd

Steve Shipway s.shipway at auckland.ac.nz
Thu Nov 11 02:23:23 CET 2010


I may be wrong, but I don't believe that you can have a CDEF refer to a VDEF -- only to a DEF or a CDEF.  A VDEF can be defined over a DEF or a CDEF but with no complex calculations.  This is because a VDEF is a single value (possibly with a time) but a CDEF (like a DEF) is a full set of data over the time interval.

Steve

Steve Shipway
University of Auckland ITS
UNIX Systems Design Lead
s.shipway at auckland.ac.nz<mailto:s.shipway at auckland.ac.nz>
Ph: +64 9 373 7599 ext 86487

________________________________
From: rrd-users-bounces+s.shipway=auckland.ac.nz at lists.oetiker.ch [rrd-users-bounces+s.shipway=auckland.ac.nz at lists.oetiker.ch] on behalf of Rob Newman [rlnewman at ucsd.edu]
Sent: Thursday, 11 November 2010 2:03 p.m.
To: rrd-users at lists.oetiker.ch
Subject: [rrd-users] Concatenated VDEF and CDEF commands in a rrdtool graph cmd

Hi there,

Does anyone know why this fails:

rrdtool graph /path/to/outputimage/rrd.png \
    --interlaced --imgformat PNG --end 1289434618 --start 1286756217 \
    --width 600 --height 200 --title 'TEST' \
    DEF:dt=/path/to/dt.rrd:dt:AVERAGE \
    VDEF:dtfoo=dt,MAXIMUM \
    CDEF:dtmaxdiff=dtfoo,16,- \
    LINE1:dtmaxdiff#990000:'TESTFOO' \
    GPRINT:dt:LAST:'Latest value for TESTFOO\: %4.0lf%s\j'

The output I get from rrdtool is:

ERROR: rpn expressions without DEF or CDEF variables are not supported

If I try and add backslashes to the path (a la http://www.mrtg.org/rrdtool/doc/rrdgraph_rpn.en.html, note between the VDEF and CDEF rpn command there is not a carriage return anymore, just whitespace and a backslash):

rrdtool graph /path/to/outputimage/rrd.png \
    --interlaced --imgformat PNG --end 1289434618 --start 1286756217 \
    --width 600 --height 200 --title 'TEST' \
    DEF:dt=/path/to/dt.rrd:dt:AVERAGE \
    VDEF:dtfoo=dt,MAXIMUM \ CDEF:dtmaxdiff=dtfoo,16,- \
    LINE1:dtmaxdiff#990000:'TESTFOO' \
    GPRINT:dt:LAST:'Latest value for TESTFOO\: %4.0lf%s\j'

I now get the output:

ERROR: Could not make sense out of ' CDEF:dtmaxdiff=dtfoo,16,-'

What I want is to find the maximum value for the data set ('dtfoo = dt,MAXIMUM'), then take that value and subtract 16 from it (dtmaxdiff = dtfoo,16,-), then plot that value.

Any ideas why both of these fail?

Thanks in advance,
- Rob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.oetiker.ch/pipermail/rrd-users/attachments/20101111/4bc9315a/attachment.htm 


More information about the rrd-users mailing list