e743c9f0e1408f3ded9afd84375ccc8b6b6237fd
[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
34     VDEF:ds0avg=ds0,AVERAGE
35     VDEF:ds0min=ds0,MINIMUM
36     VDEF:ds0pct=ds0,95,PERCENT
37     VDEF:ds1max=ds1,MAXIMUM
38     VDEF:ds1avg=ds1,AVERAGE
39     VDEF:ds1min=ds1,MINIMUM
40     VDEF:ds1pct=ds1,95,PERCENT
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 Note: the column titles have to be as wide as the columns
52
53     COMMENT:"Maximum    "
54     COMMENT:"Average    "
55     COMMENT:"Minimum    "
56
57 Note: some lines contains the new-line character "\n"
58
59     COMMENT:"95th percentile\n"
60     AREA:ds0bits#00C000:"Inbound "
61     GPRINT:ds0max:"%6.2lf %Sbps"
62     GPRINT:ds0avg:"%6.2lf %Sbps"
63     GPRINT:ds0min:"%6.2lf %Sbps"
64     GPRINT:ds0pct:"%6.2lf %Sbps\n"
65     LINE1:ds1bits#0000FF:"Outbound"
66     GPRINT:ds1max:"%6.2lf %Sbps"
67     GPRINT:ds1avg:"%6.2lf %Sbps"
68     GPRINT:ds1min:"%6.2lf %Sbps"
69     GPRINT:ds1pct:"%6.2lf %Sbps\n"
70
71 =head2 Offsetting a line on the y-axis
72
73 Depending on your needs you can do this in two ways:
74
75 =over 4
76
77 =item *
78
79 Offset the data, then graph this
80
81     DEF:mydata=my.rrd:ds:AVERAGE
82
83 Note: this will also influence any other command that uses "data"
84
85     CDEF:data=mydata,100,+
86     LINE1:data#FF0000:"Data with offset"
87
88 =item *
89
90 Graph the original data, with an offset
91
92     DEF:mydata=my.rrd:ds:AVERAGE
93
94 Note: no color in the first line so it is not visible
95
96     LINE1:100
97
98 Note: the second line gets stacked on top of the first one
99
100     LINE1:data#FF0000:"Data with offset":STACK
101
102 =back
103
104 =head2 Time ranges
105
106     Last four weeks: --start end-4w --end 00:00
107     January 2001:    --start 20010101 --end start+31d
108     January 2001:    --start 20010101 --end 20010201
109     Last hour:       --start end-1h
110     Last 24 hours:   <nothing at all>
111     Yesterday:       --end 00:00
112
113 =head2 Viewing the current and previous week together
114
115     --end now --start end-1w
116     DEF:thisweek=router.rrd:ds0:AVERAGE
117     DEF:lastweek=router.rrd:ds0:AVERAGE:end=now-1w:start=end-1w
118
119 Shift the data forward by one week (604800 seconds)
120
121     SHIFT:lastweek:604800
122     [ more of the usual VDEF and CDEF stuff if you like ]
123     AREA:lastweek#0000FF:Last\ week
124     LINE1:thisweek#FF0000:This\ week
125
126 =head1 SEE ALSO
127
128 L<rrdgraph> gives an overview of how B<rrdtool graph> works.
129 L<rrdgraph_data> describes B<DEF>,B<CDEF> and B<VDEF> in detail.
130 L<rrdgraph_rpn> describes the B<RPN> language used in the B<?DEF> statements.
131 L<rrdgraph_graph> page describes all the graph and print functions.
132
133 Make sure to read L<rrdgraph_examples> for tipsE<amp>tricks.
134
135 =head1 AUTHOR
136
137 Program by Tobias Oetiker E<lt>oetiker@ee.ethz.chE<gt>
138
139 This manual page by Alex van den Bogaerdt E<lt>alex@ergens.op.het.netE<gt>