complete rewrite of rrdgraph documentation. This also includs info
[rrdtool.git] / doc / rrdgraph_examples.src
diff --git a/doc/rrdgraph_examples.src b/doc/rrdgraph_examples.src
new file mode 100644 (file)
index 0000000..2c61c40
--- /dev/null
@@ -0,0 +1,111 @@
+=include name
+
+=head1 SYNOPSYS
+
+B<rrdtool graph /home/httpd/html/test.png --img-format PNG \>
+
+followed by any of the examples below
+
+=head1 DESCRIPTION
+
+For your convenience some of the commands are explained here
+by using detailed examples. They are not always cut-and-paste
+ready because comments are intermixed with the examples.
+
+=head1 EXAMPLES
+
+=head2 Nicely formatted legend section
+
+    DEF:ds0=/home/rrdtool/data/router1.rrd:ds0:AVERAGE
+    DEF:ds1=/home/rrdtool/data/router1.rrd:ds1:AVERAGE
+    VDEF:ds0max=ds0,MAXIMUM,8,*
+    VDEF:ds0avg=ds0,AVERAGE,8,*
+    VDEF:ds0min=ds0,MINIMUM,8,*
+    VDEF:ds0pct=95,ds0,PERCENTILE,8,*
+    VDEF:ds1max=ds1,MAXIMUM,8,*
+    VDEF:ds1avg=ds1,AVERAGE,8,*
+    VDEF:ds1min=ds1,MINIMUM,8,*
+    VDEF:ds1pct=95,ds1,PERCENTILE,8,*
+Note: consolidation occurs here.
+    CDEF:ds0bits=ds0,8,*
+    CDEF:ds1bits=ds1,8,*
+Note: 10 spaces to move text to the right
+    COMMENT:"          "
+Note: three times size == 11 chars, "###.## xBps"
+    COMMENT:"Maximum    "
+    COMMENT:"Average    "
+    COMMENT:"Minimum    "
+Note: last line contains new-line character
+    COMMENT:"95th percentile\n"
+    AREA:ds0bits#00C000:"Inbound "
+    GPRINT:ds0max:"%6.2lf %Sbps"
+    GPRINT:ds0avg:"%6.2lf %Sbps"
+    GPRINT:ds0min:"%6.2lf %Sbps"
+    GPRINT:ds0pct:"%6.2lf %Sbps\n"
+    LINE1:ds1bits#0000FF:"Outbound"
+    GPRINT:ds1max:"%6.2lf %Sbps"
+    GPRINT:ds1avg:"%6.2lf %Sbps"
+    GPRINT:ds1min:"%6.2lf %Sbps"
+    GPRINT:ds1pct:"%6.2lf %Sbps\n"
+
+=head2 Offsetting a line on the y-axis
+
+Depending on your needs you can do this in two ways:
+
+=over 4
+
+=item *
+
+Offset the data, then graph this
+
+    DEF:mydata=my.rrd:ds:AVERAGE
+Note: this will also influence anything that uses "data"
+    CDEF:data=mydata,100,+
+    LINE1:data#FF0000:"Data with offset"
+
+=item *
+
+Graph the original data, with an offset
+
+    DEF:mydata=my.rrd:ds:AVERAGE
+Note: no color in the first line so it is not visible
+    LINE1:100
+Note: the second line gets stacked on top of the first one
+    LINE1:data#FF0000:"Data with offset":STACK
+
+=back
+
+=head2 Time ranges
+
+    Last four weeks: --start end-4w --end 00:00
+    Januari 2001:    --start 200101010000 --end start+31d
+    Januari 2001:    --start 200101010000 --end 200102010000
+    Last hour:       --start end-1h
+    Last 24 hours:   <nothing at all>
+    Yesterday:       --end 00:00
+
+=head2 Viewing Januari+Februari 2000 and 2001 together
+
+Define a graph area of 31+29 days (!) spanning Jan. and Feb.
+    --start 20000101 --end 20000301
+    DEF:jan2000=router.rrd:ds0:AVERAGE:start 20000101 end start+31d
+    DEF:jan2001=router.rrd:ds0:AVERAGE:start 20010101 end start+31d
+Note: mind the extra day in 2000 ...
+    DEF:feb2000=router.rrd:ds0:AVERAGE:start 20000201 end start+29d
+Note: 29 feb 2001 is *unknown*
+    DEF:feb2001=router.rrd:ds0:AVERAGE:start 20010201 end start+28d
+    VDEF:offset=jan2001,FIRST,jan2000,FIRST,-,-1,*
+    [ more of the usual VDEF and CDEF stuff if you like ]
+    LINE1:jan2000#00003F:"Januari 2000"
+    [ gprint stuff ]
+    LINE1:feb2001#003F00:"Februari 2000"
+    [ gprint stuff ]
+Note: offset is made negative by the VDEF statement
+    SHIFT:offset
+    LINE1:jan2001#0000FF:"Januari 2001"
+    [ gprint stuff ]
+    LINE1:feb2001#00FF00:"Februari 2001"
+    [ gprint stuff ]
+
+=include see_also
+