* remove jakes old address
[rrdtool.git] / doc / rrdgraph_data.pod
1 =head1 NAME
2
3 rrdgraph_data - preparing data for graphing in rrdtool graph
4
5 =head1 SYNOPSIS
6
7 B<DEF:>I<E<lt>vnameE<gt>>=I<E<lt>rrdfileE<gt>>:I<E<lt>ds-nameE<gt>>:I<E<lt>CFE<gt>>[:step=I<E<lt>stepE<gt>>][:start=I<E<lt>timeE<gt>>][:end=I<E<lt>timeE<gt>>][:reduce=I<E<lt>B<CF>E<gt>>]
8
9 B<VDEF>:I<vname>=I<RPN expression>
10
11 B<CDEF>:I<vname>=I<RPN expression>
12
13 =head1 DESCRIPTION
14
15 These three instructions extract data values out of the B<RRD> files,
16 optionally altering them (think, for example, of a bytes to bits
17 conversion). If so desired, you can also define variables containing
18 useful information such as maximum, minimum etcetera. Two of the
19 instructions use a language called B<RPN> which is described in its
20 own manual page.
21
22 =head1 DEF
23
24 B<DEF:>I<E<lt>vnameE<gt>>=I<E<lt>rrdfileE<gt>>:I<E<lt>ds-nameE<gt>>:I<E<lt>CFE<gt>>[:step=I<E<lt>stepE<gt>>][:start=I<E<lt>timeE<gt>>][:end=I<E<lt>timeE<gt>>][:reduce=I<E<lt>B<CF>E<gt>>]
25
26 This command fetches data from an B<RRD> file.  The virtual name
27 I<vname> can then be used throughout the rest of the script. By
28 default, an B<RRA> which contains the correct consolidated data
29 at an appropriate resolution will be chosen.  The resolution can
30 be overridden with the L<--step|rrdgraph/item_Time> option. 
31 The resolution can again be overridden by specifying the B<step size>.
32 The time span of this data is the same as for the graph by default,
33 you can override this by specifying B<start and end>.  Remember to
34 escape colons in the time specification!
35
36 If the resolution of the data is higher than the resolution of the
37 graph, the data will be further consolidated. This may result in
38 a graph that spans slightly more time than requested.
39 Ideally each point in the graph should correspond with one B<CDP>
40 from an B<RRA>.  For instance, if your B<RRD> has an B<RRA> with
41 a resolution of 1800 seconds per B<CDP>, you should create an
42 image with width 400 and time span 400*1800 seconds (use appropriate
43 start and end times, such as C<--start end-8days8hours>).
44
45 If consolidation needs to be done, the B<CF> of the B<RRA> specified in the
46 B<DEF> itself will be used to reduce the data density. This behaviour can
47 be changed using C<:reduce=I<E<lt>B<CF>E<gt>>>.  This optional parameter
48 specifies the B<CF> to use during the data reduction phase.
49
50 Example:
51
52         DEF:ds0=router.rrd:ds0:AVERAGE
53         DEF:ds0weekly=router.rrd:ds0:AVERAGE:step=7200
54         DEF:ds0weekly=router.rrd:ds0:AVERAGE:start=end-1h
55         DEF:ds0weekly=router.rrd:ds0:AVERAGE:start=11\:00:end=start+1h
56
57 =head1 VDEF
58
59 B<VDEF>:I<vname>=I<RPN expression>
60
61 This command returns a value and/or a time according to the B<RPN>
62 statements used. The resulting I<vname> will, depending on the
63 functions used, have a value and a time component.  When you use
64 this I<vname> in another B<RPN> expression, you are effectively
65 inserting its value just as if you had put a number at that place.
66 The variable can also be used in the various graph and print
67 elements.
68
69 Example: C<VDEF:avg=mydata,AVERAGE>
70
71 =head1 CDEF
72
73 B<CDEF>:I<vname>=I<RPN expression>
74
75 This command creates a new set of data points (in memory only, not
76 in the B<RRD> file) out of one or more other data series. The B<RPN>
77 instructions are used to evaluate a mathematical function on each
78 data point. The resulting I<vname> can then be used further on in
79 the script, just as if it were generated by a B<DEF> instruction.
80
81 Example: C<CDEF:mydatabits=mydata,8,*>
82
83 =head1 SEE ALSO
84
85 L<rrdgraph> gives an overview of how B<rrdtool graph> works.
86 L<rrdgraph_data> describes B<DEF>,B<CDEF> and B<VDEF> in detail.
87 L<rrdgraph_rpn> describes the B<RPN> language used in the B<?DEF> statements.
88 L<rrdgraph_graph> page describes all of the graph and print functions.
89
90 Make sure to read L<rrdgraph_examples> for tipsE<amp>tricks.
91
92 =head1 AUTHOR
93
94 Program by Tobias Oetiker E<lt>oetiker@ee.ethz.chE<gt>
95
96 This manual page by Alex van den Bogaerdt E<lt>alex@ergens.op.het.netE<gt>