another batch of fixes from fritz
[rrdtool.git] / doc / rrdgraph_examples.pod
1 =head1 NAME
2
3 rrdgraph_examples - Examples for rrdtool graph
4
5 =head1 SYNOPSIS
6
7 B<rrdtool graph /home/httpd/html/test.png --img-format PNG \>
8
9 followed by any of the examples below
10
11 =head1 DESCRIPTION
12
13 For your convenience some of the commands are explained here
14 by using detailed examples. They are not always cut-and-paste
15 ready because comments are intermixed with the examples.
16
17 =head1 EXAMPLES
18
19 =head2 Data with multiple resolutions
20
21     --end now --start end-120000s --width 400
22     DEF:ds0a=/home/rrdtool/data/router1.rrd:ds0:AVERAGE
23     DEF:ds0b=/home/rrdtool/data/router1.rrd:ds0:AVERAGE:step=1800
24     DEF:ds0c=/home/rrdtool/data/router1.rrd:ds0:AVERAGE:step=7200
25     LINE1:ds0a#0000FF:"default resolution\n"
26     LINE1:ds0b#00CCFF:"resolution 1800 seconds per interval\n"
27     LINE1:ds0c#FF00FF:"resolution 7200 seconds per interval\n"
28
29 =head2 Nicely formatted legend section
30
31     DEF:ds0=/home/rrdtool/data/router1.rrd:ds0:AVERAGE
32     DEF:ds1=/home/rrdtool/data/router1.rrd:ds1:AVERAGE
33     VDEF:ds0max=ds0,MAXIMUM,8,*
34     VDEF:ds0avg=ds0,AVERAGE,8,*
35     VDEF:ds0min=ds0,MINIMUM,8,*
36     VDEF:ds0pct=95,ds0,PERCENTILE,8,*
37     VDEF:ds1max=ds1,MAXIMUM,8,*
38     VDEF:ds1avg=ds1,AVERAGE,8,*
39     VDEF:ds1min=ds1,MINIMUM,8,*
40     VDEF:ds1pct=95,ds1,PERCENTILE,8,*
41
42 Note: consolidation occurs here.
43
44     CDEF:ds0bits=ds0,8,*
45     CDEF:ds1bits=ds1,8,*
46
47 Note: 10 spaces to move text to the right
48
49     COMMENT:"          "
50
51 =for comment
52 XXX I don't understand the following; Fritz
53
54 Note: three times size == 11 chars, "###.## xBps"
55
56     COMMENT:"Maximum    "
57     COMMENT:"Average    "
58     COMMENT:"Minimum    "
59
60 Note: some lines contains the new-line character "\n"
61
62     COMMENT:"95th percentile\n"
63     AREA:ds0bits#00C000:"Inbound "
64     GPRINT:ds0max:"%6.2lf %Sbps"
65     GPRINT:ds0avg:"%6.2lf %Sbps"
66     GPRINT:ds0min:"%6.2lf %Sbps"
67     GPRINT:ds0pct:"%6.2lf %Sbps\n"
68     LINE1:ds1bits#0000FF:"Outbound"
69     GPRINT:ds1max:"%6.2lf %Sbps"
70     GPRINT:ds1avg:"%6.2lf %Sbps"
71     GPRINT:ds1min:"%6.2lf %Sbps"
72     GPRINT:ds1pct:"%6.2lf %Sbps\n"
73
74 =head2 Offsetting a line on the y-axis
75
76 Depending on your needs you can do this in two ways:
77
78 =over 4
79
80 =item *
81
82 Offset the data, then graph this
83
84     DEF:mydata=my.rrd:ds:AVERAGE
85
86 Note: this will also influence any other command that uses "data"
87
88     CDEF:data=mydata,100,+
89     LINE1:data#FF0000:"Data with offset"
90
91 =item *
92
93 Graph the original data, with an offset
94
95     DEF:mydata=my.rrd:ds:AVERAGE
96
97 Note: no color in the first line so it is not visible
98
99     LINE1:100
100
101 Note: the second line gets stacked on top of the first one
102
103     LINE1:data#FF0000:"Data with offset":STACK
104
105 =back
106
107 =head2 Time ranges
108
109     Last four weeks: --start end-4w --end 00:00
110     January 2001:    --start 200101010000 --end start+31d
111     January 2001:    --start 200101010000 --end 200102010000
112     Last hour:       --start end-1h
113     Last 24 hours:   <nothing at all>
114     Yesterday:       --end 00:00
115
116 =head2 Viewing the current and previous week together
117
118     --end now --start end-1w
119     DEF:thisweek=router.rrd:ds0:AVERAGE
120     DEF:lastweek=router.rrd:ds0:AVERAGE:end=now-1w:start=end-1w
121
122 Shift the data forward by one week (604800 seconds)
123
124     SHIFT:lastweek:604800
125     [ more of the usual VDEF and CDEF stuff if you like ]
126     AREA:lastweek#0000FF:Last\ week
127     LINE1:thisweek#FF0000:This\ week
128
129 =head1 SEE ALSO
130
131 L<rrdgraph> gives an overview of how B<rrdtool graph> works.
132 L<rrdgraph_data> describes B<DEF>,B<CDEF> and B<VDEF> in detail.
133 L<rrdgraph_rpn> describes the B<RPN> language used in the B<?DEF> statements.
134 L<rrdgraph_graph> page describes all the graph and print functions.
135
136 Make sure to read L<rrdgraph_examples> for tipsE<amp>tricks.
137
138 =head1 AUTHOR
139
140 Program by Tobias Oetiker E<lt>oetiker@ee.ethz.chE<gt>
141
142 This manual page by Alex van den Bogaerdt E<lt>alex@ergens.op.het.netE<gt>