S<[B<-e>|B<--end> I<seconds>]>
S<[B<-x>|B<--x-grid> I<x-axis grid and label>]>
S<[B<-y>|B<--y-grid> I<y-axis grid and label>]>
-S<[B<--alt-y-grid>]>
-S<[B<--alt-autoscale>]>
-S<[B<--alt-autoscale-max>]>
-S<[B<--units-exponent>]> I<value>]>
+S<[B<-Y>|B<--alt-y-grid>]>
+S<[B<-A>|B<--alt-autoscale>]>
+S<[B<-M>|B<--alt-autoscale-max>]>
+S<[B<-X>|B<--units-exponent>]> I<value>]>
S<[B<-v>|B<--vertical-label> I<text>]>
S<[B<-w>|B<--width> I<pixels>]>
S<[B<-h>|B<--height> I<pixels>]>
S<[B<-i>|B<--interlaced>]>
S<[B<-f>|B<--imginfo> I<formatstring>]>
-S<[B<-a>|B<--imgformat> B<GIF>|B<PNG>]>
+S<[B<-a>|B<--imgformat> B<SVG>|B<PNG>]>
S<[B<-z>|B<--lazy>]>
S<[B<-o>|B<--logarithmic>]>
S<[B<-u>|B<--upper-limit> I<value>]>
S<[B<-l>|B<--lower-limit> I<value>]>
S<[B<-g>|B<--no-legend>]>
S<[B<-r>|B<--rigid>]>
-S<[B<--step> I<value>]>
+S<[B<-S>|B<--step> I<value>]>
S<[B<-b>|B<--base> I<value>]>
S<[B<-c>|B<--color> I<COLORTAG>B<#>I<rrggbb>]>
S<[B<-t>|B<--title> I<title>]>
=item I<filename>
The name of the graph to generate. Since B<rrdtool> outputs
-GIFs and PNGs, it's recommended that the filename end in either
-F<.gif> or F<.png>. B<rrdtool> does not enforce this, however.
+SVGs and PNGs, it's recommended that the filename end in either
+F<.svg> or F<.png>. B<rrdtool> does not enforce this, however.
If the I<filename> is set to '-' the image file will be written
to standard out. All other output will get suppressed.
-PNG output is recommended, since it takes up to 40% less disk space
-and 20-30% less time to generate than a GIF file.
-
If no graph functions are called, the graph will not be created.
=item B<-s>|B<--start> I<seconds> (default end-1day)
=item B<-w>|B<--width> I<pixels> (default 400 pixel)
Width of the drawing area within the graph. This affects the size of the
-gif.
+image.
=item B<-h>|B<--height> I<pixels> (default 100 pixel)
Width of the drawing area within the graph. This affects the size of the
-gif.
+image.
=item B<-i>|B<--interlaced> (default: false)
-If you set this option, then the resulting GIF will be interlaced.
+If you set this option, then the resulting image will be interlaced.
Most web browsers display these incrementally as they load. If
-you do not use this option, the GIFs default to being progressive
+you do not use this option, the image defaults to being progressive
scanned. The only effect of this option is to control the format
-of the GIF on disk. It makes no changes to the layout or contents
+of the image on disk. It makes no changes to the layout or contents
of the graph.
=item B<-f>|B<--imginfo> I<formatstring>
--imginfo '<IMG SRC="/img/%s" WIDTH="%lu" HEIGHT="%lu" ALT="Demo">'
-=item B<-a>|B<--imgformat> B<GIF>|B<PNG> (default: GIF)
+=item B<-a>|B<--imgformat> B<SVG>|B<PNG> (default: PNG)
Allows you to produce PNG output from rrdtool.
=item B<-z>|B<--lazy> (default: false)
-Only generate the graph, if the current gif is out of date or not
+Only generate the graph, if the current image is out of date or not
existent.
=item B<-u>|B<--upper-limit> I<value> (default autoconfigure)
the value of this CDEF at the previous time step. This allows you to
perform calculations across the data.
+=item COUNT
+
+Pushes the number 1 if it is at the first value of the data set, the
+number 2 if it is at the second, and so on. This special value, allows
+you to make calculations based on the position of the value within
+the data set.
+
=item INF, NEGINF
Push a positive or negative infinite (oo) value onto the stack. When
Calculate the chosen consolidation function I<CF> over the data-source
variable I<vname> and C<printf> the result to stdout using I<format>.
-In the I<format> string there should be a '%lf' or '%le' marker in the
+In the I<format> string there should be a '%lf', '%le' or'%lg' marker in the
place where the number should be printed.
If an additional '%s' is found AFTER the marker, the value will be scaled
=head1 NOTE on Return Values
Whenever rrd_graph gets called, it prints a line telling the size of
-the gif it has just created to STDOUT. This line looks like this: XSIZExYSIZE.
+the image it has just created to STDOUT. This line looks like this: XSIZExYSIZE.
=head1 EXAMPLE 1
- rrdtool graph demo.gif --title="Demo Graph" \
+ rrdtool graph demo.png --title="Demo Graph" \
DEF:cel=demo.rrd:exhaust:AVERAGE \
"CDEF:far=cel,1.8,*,32,+"" \
LINE2:cel#00a000:"D. Celsius" \
aggregating interface data where the start dates of the data sets
doesn't match.
- rrdtool graph demo.gif --title="Demo Graph" \
+ rrdtool graph demo.png --title="Demo Graph" \
DEF:idat1=interface1.rrd:ds0:AVERAGE \
DEF:idat2=interface2.rrd:ds0:AVERAGE \
DEF:odat1=interface1.rrd:ds1:AVERAGE \
can be used to generate the graph of a time series with confidence bands and
failures.
- rrdtool graph example.gif \
+ rrdtool graph example.png \
DEF:obs=monitor.rrd:ifOutOctets:AVERAGE \
DEF:pred=monitor.rrd:ifOutOctets:HWPREDICT \
DEF:dev=monitor.rrd:ifOutOctets:DEVPREDICT \