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