RRDGRAPH_DATA(1)                    rrdtool                   RRDGRAPH_DATA(1)



NAME
       rrdgraph_data - preparing data for graphing in rrdtool graph

SYNOPSIS
       DEF:<vname>=<rrdfile>:<ds-
       name>:<CF>[:step=<step>][:start=<time>][:end=<time>][:reduce=<CF>]

       VDEF:vname=RPN expression

       CDEF:vname=RPN expression

DESCRIPTION
       These three instructions extract data values out of the RRD files,
       optionally altering them (think, for example, of a bytes to bits con-
       version). If so desired, you can also define variables containing use-
       ful information such as maximum, minimum etcetera. Two of the instruc-
       tions use a language called RPN which is described in its own manual
       page.

       Variable names (vname) must be made up strings of the following charac-
       ters "A-Z, a-z, 0-9, -,_" and a maximum length of 255 characters.

       When picking variable names, make sure you do not choose a name that is
       already taken by an RPN operator. A save bet it to use lowercase or
       mixedcase names for variables since operators will always be in upper-
       case.

DEF
       DEF:<vname>=<rrdfile>:<ds-
       name>:<CF>[:step=<step>][:start=<time>][:end=<time>][:reduce=<CF>]

       This command fetches data from an RRD file.  The virtual name vname can
       then be used throughout the rest of the script. By default, an RRA
       which contains the correct consolidated data at an appropriate resolu-
       tion will be chosen.  The resolution can be overridden with the --step
       option.  The resolution can again be overridden by specifying the step
       size.  The time span of this data is the same as for the graph by
       default, you can override this by specifying start and end.  Remember
       to escape colons in the time specification!

       If the resolution of the data is higher than the resolution of the
       graph, the data will be further consolidated. This may result in a
       graph that spans slightly more time than requested.  Ideally each point
       in the graph should correspond with one CDP from an RRA.  For instance,
       if your RRD has an RRA with a resolution of 1800 seconds per CDP, you
       should create an image with width 400 and time span 400*1800 seconds
       (use appropriate start and end times, such as "--start
       end-8days8hours").

       If consolidation needs to be done, the CF of the RRA specified in the
       DEF itself will be used to reduce the data density. This behaviour can
       be changed using ":reduce=<CF>".  This optional parameter specifies the
       CF to use during the data reduction phase.

       Example:

               DEF:ds0=router.rrd:ds0:AVERAGE
               DEF:ds0weekly=router.rrd:ds0:AVERAGE:step=7200
               DEF:ds0weekly=router.rrd:ds0:AVERAGE:start=end-1h
               DEF:ds0weekly=router.rrd:ds0:AVERAGE:start=11\:00:end=start+1h

VDEF
       VDEF:vname=RPN expression

       This command returns a value and/or a time according to the RPN state-
       ments used. The resulting vname will, depending on the functions used,
       have a value and a time component.  When you use this vname in another
       RPN expression, you are effectively inserting its value just as if you
       had put a number at that place.  The variable can also be used in the
       various graph and print elements.

       Example: "VDEF:avg=mydata,AVERAGE"

       Note that currently only agregation functions work in VDEF rpn expres-
       sions.  Patches to change this are welcome.

CDEF
       CDEF:vname=RPN expression

       This command creates a new set of data points (in memory only, not in
       the RRD file) out of one or more other data series. The RPN instruc-
       tions are used to evaluate a mathematical function on each data point.
       The resulting vname can then be used further on in the script, just as
       if it were generated by a DEF instruction.

       Example: "CDEF:mydatabits=mydata,8,*"

SEE ALSO
       rrdgraph gives an overview of how rrdtool graph works.  rrdgraph_data
       describes DEF,CDEF and VDEF in detail.  rrdgraph_rpn describes the RPN
       language used in the ?DEF statements.  rrdgraph_graph page describes
       all of the graph and print functions.

       Make sure to read rrdgraph_examples for tips&tricks.

AUTHOR
       Program by Tobias Oetiker <tobi@oetiker.ch>

       This manual page by Alex van den Bogaerdt <alex@ergens.op.het.net>



1.2.23                            2007-05-02                  RRDGRAPH_DATA(1)
