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
conversion). If so desired, you can also define variables containing
useful information such as maximum, minimum etcetera. Two of the
instructions use a language called 
RPN which is described in its
own manual page.
Variable names (vname) must be made up strings of the following characters
A-Z, a-z, 0-9, -,_ and a maximum length of 255 characters.
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 resolution will be chosen.  The resolution can
be overridden with the 
././rrdgraph.html#item_time--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 
CDPfrom 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 RPNstatements 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 expressions.
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 RPNinstructions 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.htmlthe rrdgraph manpage  gives an overview of how rrdtool graph works.
././rrdgraph_data.htmlthe rrdgraph_data manpage  describes DEF,CDEF and VDEF in detail.
././rrdgraph_rpn.htmlthe rrdgraph_rpn manpage  describes the RPN language used in the ?DEF statements.
././rrdgraph_graph.htmlthe rrdgraph_graph manpage  page describes all of the graph and print functions.
Make sure to read ././rrdgraph_examples.htmlthe rrdgraph_examples manpage  for tips&tricks.
AUTHOR 
Program by Tobias Oetiker < mailto:oetiker@ee.ethz.choetiker@ee.ethz.ch >
This manual page by Alex van den Bogaerdt < mailto:alex@ergens.op.het.netalex@ergens.op.het.net >
