Have you tried this:

CDEF:dtmaxdiff=dt,POP,dtfoo,16,-

This uses a DEF variable (dt) although it is removed by the POP to trick the 
CDEF into having at least one dataset variable (dt) to base the new sequence 
off of.  I'm still not sure if RRDTool lets you use the VDEF value as a 
constant, though... I suspect not but havent tried it in the latest version of 
RRDTool

Steve
Steve Shipway
University of Auckland ITS
UNIX Systems Design Lead
[email protected]<mailto:[email protected]>
Ph: +64 9 373 7599 ext 86487

________________________________
From: [email protected] 
[[email protected]] on behalf of Rob 
Newman [[email protected]]
Sent: Thursday, 11 November 2010 2:03 p.m.
To: [email protected]
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
_______________________________________________
rrd-users mailing list
[email protected]
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users

Reply via email to