[rrd-users] CDEF:a=TIME throws error

Matt Chung itsmemattchung at gmail.com
Sat May 8 20:55:25 CEST 2010

Awesome that worked!

Thank you for the thorough explanation, I really appreciate it.
Essentially, if I understand your example correctly,
"CDEF:time=var,POP,TIME" translates to
"Set $time equal to that array, grab the top element from the array, grab
the time from that element using TIME".  It then does that for each index in
the array.

I hope I interpreted that correctly :)

Again, thank you for quick response and explanation Alex.  I hope in time I
will soon be able to provide guidance to those as fresh as I am to using

On Sat, May 8, 2010 at 10:04 AM, Alex van den Bogaerdt <
alex at vandenbogaerdt.nl> wrote:

> ----- Original Message -----
> From: "itsmemattchung" <itsmemattchung at gmail.com>
> To: <rrd-users at lists.oetiker.ch>
> Sent: Saturday, May 08, 2010 6:35 PM
> Subject: [rrd-users] CDEF:a=TIME throws error
> > I have followed the documentation
> > http://oss.oetiker.ch/rrdtool/tut/cdeftutorial.en.html
> > in order to calculate the derivative by using
> > CDEF:b=PREV(a)
> Which is, unfortunately, incorrect.
> My name is still on the tutorial, but the data filtering was not written by
> me. Nevertheless, sorry for the confusion.
> I have no idea who made that contribution, hopefully Tobi can tell and ask
> him/her for a fix.
> > "rrdtool.error: rpn expressions without DEF or CDEF variables are not
> > supported "
> > After searching around on google and through existing tickets, I ran
> > across
> > http://oss.oetiker.ch/rrdtool-trac/ticket/182 which states exactly what
> I
> > am
> > experiencing.
> >
> > Unfortunately, I am having a hard time interpreting what oetiker posted
> Think of DEF and CDEF as working on arrays. Each array member is an
> interval
> of time combined with a rate valid during that interval.  The array members
> are better known as "steps", or "intervals", or CDPs (Consolidated Data
> Points).
> What TIME does, is to take the timestamp of such an interval.  You can then
> do whatever it is you need to do. But, in order for RRDtool to find the
> timestamp of such an interval, it first needs the array of intervals.  In
> "CDEF:time=TIME" there is no data thus no array thus no interval thus no
> timestamp.
> Quick fix is to put DEF "var" on the stack and remove it again:
> CDEF:time=var,POP,TIME
> I haven't verified that this will make the example work, but try it.
> > When would the syntax from the tutorial (CDEF:a=TIME) be appropriate? If
> > possible, can someone please elaborate on why that doesn't work, or point
> > be
> > in the right direction so I can better understand?
> I hope this helped.
> cheers,
> Alex
> _______________________________________________
> rrd-users mailing list
> rrd-users at lists.oetiker.ch
> https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.oetiker.ch/pipermail/rrd-users/attachments/20100508/d1a8fa93/attachment-0001.htm 

More information about the rrd-users mailing list