misc fixed and TREND and reduce functionality by
[rrdtool.git] / doc / rrdgraph_data.src
1 =include name
2
3 =head1 SYNOPSIS
4
5 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>>]
6
7 B<VDEF>:I<vname>=I<RPN expression>
8
9 B<CDEF>:I<vname>=I<RPN expression>
10
11 =head1 DESCRIPTION
12
13 These three instructions collect the data out of the B<RRD> files,
14 optionally altering it (think of a bytes to bits conversion) and
15 if desired you can define variables containing useful information
16 such as maximum, minimum etcetera. Two of the instructions use
17 a language called B<RPN> which is described in its own manual page.
18
19 =head1 DEF
20
21 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>>]
22
23 This command fetches data from an B<RRD> file.  The virtual name
24 I<vname> can then be used throughout the rest of the script. By
25 default, an B<RRA> which contains the correct consolidated data
26 at an appropriate resolution will be chosen.  The resolution can
27 be overridden with the L<--step|rrdgraph/item_Time> option. 
28 The resolution can again be overridden by specifying the B<step size>.
29 The time span of this data is the same as for the graph by default,
30 you can override this by specifying B<start and end>.  Remember to
31 escape colons in the time specification!
32
33 If the resolution of the data is higher than the resolution of off
34 graph, the data will be further consolidated.  This may result in
35 a graph that spans slightly more time than requested.
36 Ideally each point in the graph should correspond with one B<CDP>
37 from an B<RRA>.  For instance, if your B<RRD> has an B<RRA> with
38 a resolution of 1800 seconds per B<CDP>, you should create an
39 image with width 400 and time span 400*1800 seconds (use appropriate
40 start and end times, such as C<--start end-8days8hours>).
41
42 If consolidation needs to be done, the B<CF> of the B<RRA> specified in the
43 B<DEF> itself will be used to reduce the data density.  This behaviour can
44 be changed using C<:reduce=I<E<lt>B<CF>E<gt>>>.  This optional parameter
45 specifies the B<CF> to use during the data reduction phase.
46
47 Example:
48
49         DEF:ds0=router.rrd:ds0:AVERAGE
50         DEF:ds0weekly=router.rrd:ds0:AVERAGE:step=7200
51         DEF:ds0weekly=router.rrd:ds0:AVERAGE:start=end-1h
52         DEF:ds0weekly=router.rrd:ds0:AVERAGE:start=11\:00:end=start+1h
53
54 =head1 VDEF
55
56 B<VDEF>:I<vname>=I<RPN expression>
57
58 This command returns a value and/or a time according to the B<RPN>
59 statements used. The resulting I<vname> will, depending on the
60 functions used, have a value and a time component.  When you use
61 this I<vname> in another B<RPN> expression, you are effectively
62 inserting its value just as if you had put a number at that place.
63 The variable can also be used in the various graph and print
64 elements. I<Not yet implemented:> [ Everywhere you can insert a
65 number, you can also use the B<VDEF> (provided that it is set of course) ]
66
67 Example: C<VDEF:avg=mydata,AVERAGE>
68
69 =head1 CDEF
70
71 B<CDEF>:I<vname>=I<RPN expression>
72
73 This command creates a new set of data points (in memory only, not
74 in the B<RRD> file) out of one or more other data series. The B<RPN>
75 instructions are used to evaluate a mathematical function on each
76 data point. The resulting I<vname> can then be used further on in
77 the script, just as if it were generated by a B<DEF> instruction.
78
79 Example: C<CDEF:mydatabits=mydata,8,*>
80
81 =include see_also