=head1 SYNOPSIS
-B<rrdtool graph> I<filename>
+B<rrdtool graph|graphv> I<filename>
[I<L<option|rrdgraph/OPTIONS>> ...]
[I<L<data definition|rrdgraph_data/DEF>> ...]
[I<L<data calculation|rrdgraph_data/CDEF>> ...]
=head1 OPTIONS
-=over 4
-=item filename
+=head2 B<graphv>
+
+This alternate version of B<graph> takes the same arguments and performs the
+same function. The I<v> stands for I<verbose>, which describes the output
+returned. B<graphv> will return a lot of information about the graph using
+the same format as rrdtool info (key = value). See the bottom of the document for more information.
+
+
+=head2 I<filename>
The name and path of the graph to generate. It is recommended to
end this in C<.png>, C<.svg> or C<.eps>, but B<RRDtool> does not enforce this.
I<filename> can be 'C<->' to send the image to C<stdout>. In
this case, no other output is generated.
-=item Time range
+=head2 Time range
[B<-s>|B<--start> I<time>]
[B<-e>|B<--end> I<time>]
from the B<RRD>, set B<step> to 3'600. Note: a step smaller than
one pixel will silently be ignored.
-=item Labels
+=head2 Labels
[B<-t>|B<--title> I<string>]
[B<-v>|B<--vertical-label> I<string>]
A horizontal string at the top of the graph and/or a vertically
placed string at the left hand side of the graph.
-=item Size
+=head2 Size
[B<-w>|B<--width> I<pixels>]
[B<-h>|B<--height> I<pixels>]
for use in an overview, for example. All labeling will be stripped off
the graph.
-=item Limits
+=head2 Limits
[B<-u>|B<--upper-limit> I<value>]
[B<-l>|B<--lower-limit> I<value>]
[B<-N>|B<--no-gridfit>]
-In order to avoid anti-aliasing effects gridlines are placed on
-integer pixel values. This is by default done by extending
-the scale so that gridlines happens to be spaced using an
-integer number of pixels and also start on an integer pixel value.
-This might extend the scale too much for some logarithmic scales
-and for linear scales where B<--alt-autoscale> is needed.
-Using B<--no-gridfit> disables modification of the scale.
+In order to avoid anti-aliasing blurring effects rrdtool snaps
+points to device resolution pixels, this results in a crisper
+aperance. If this is not to your liking, you can use this switch
+to turn this behaviour off.
-=item Grid
+Gridfitting is turned off for PDF, EPS, SVG output by default.
-=over 4
+=head2 Grid
+
+=over
=item X-Axis
and labels every 4 hours. The labels are placed under the major grid
lines as they specify exactly that time.
- --x-grid HOUR:8:DAY:1:DAY:1:0:%A
+ --x-grid HOUR:8:DAY:1:DAY:1:86400:%A
This places grid lines every 8 hours, major grid lines and labels
each day. The labels are placed exactly between two major grid lines
=back
-=item Miscellaneous
+=head2 Miscellaneous
[B<-z>|B<--lazy>]
-Only generate the graph if the current graph is out of date or not
-existent.
+Only generate the graph if the current graph is out of date or not existent.
+Note, that only the image size will be returned, if you run with lazy even
+when using graphv.
+
[B<-f>|B<--imginfo> I<printfstr>]
followed by the unit modifier "px" for absolute size. Any one of the options
may be absent.
-[B<-R>|B<--font-render-mode> {I<normal>,I<light>,I<mono>}]
+[B<-R>|B<--font-render-mode> {B<normal>,B<light>,B<mono>}]
-(this gets ignored in 1.3 for now!)
+There are 3 font render modes:
+
+B<normal>: Full Hinting and Antialiasing (default)
+
+B<light>: Slight Hinting and Antialiasing
+
+B<mono>: Full Hinting and NO Antialiasing
-This lets you customize the strength of the font smoothing,
-or disable it entirely using I<mono>. By default, I<normal>
-font smoothing is used.
[B<-B>|B<--font-smoothing-threshold> I<size>]
bitmapped, that is, without any font smoothing. By default,
no text is rendered bitmapped.
+[B<-P>|B<--pango-markup>]
+
+All text in rrdtool is rendered using Pango. With the B<--pango-markup> option, all
+text will be processed by pango markup. This allows to embed some simple html
+like markup tags using
+
+ <span key="value">text</span>
+
+Apart from the verbose syntax, there are also the following short tags available.
+
+ b Bold
+ big Makes font relatively larger, equivalent to <span size="larger">
+ i Italic
+ s Strikethrough
+ sub Subscript
+ sup Superscript
+ small Makes font relatively smaller, equivalent to <span size="smaller">
+ tt Monospace font
+ u Underline
+
+More details on L<http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html>.
+
+[B<-G>|B<--graph-render-mode> {B<normal>,B<mono>}]
+
+There are 2 render modes:
+
+B<normal>: Graphs are fully Antialiased (default)
+
+B<mono>: No Antialiasing
+
[B<-E>|B<--slope-mode>]
RRDtool graphs are composed of stair case curves by default. This is in line with
Adds the given string as a watermark, horizontally centred, at the bottom
of the graph.
-=item Data and variables
+=head2 Data and variables
B<DEF:>I<vname>B<=>I<rrdfile>B<:>I<ds-name>B<:>I<CF>[B<:step=>I<step>][B<:start=>I<time>][B<:end=>I<time>]
other statements are useful but optional.
See L<rrdgraph_data> and L<rrdgraph_rpn> for the exact format.
-=item Graph and print elements
+=head2 Graph and print elements
You need at least one graph element to generate an image and/or
at least one print statement to generate a report.
See L<rrdgraph_graph> for the exact format.
-=item Markup
-
-All text in rrdtool is rendered using Pango markup. This means text can contain embeded markup instructions.
-Simple html markup using
-
- <span key="value">text</span>
-
-can be used. Apart from the verbose syntax, there are also the following short tags available.
-
- b Bold
- big Makes font relatively larger, equivalent to <span size="larger">
- i Italic
- s Strikethrough
- sub Subscript
- sup Superscript
- small Makes font relatively smaller, equivalent to <span size="smaller">
- tt Monospace font
- u Underline
-
-More details on http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html.
=back
+=head2 graphv
+
+Calling rrdtool with the graphv option will return information in the
+rrdtool info format. On the command line this means that all output will be
+in key=value format. When used from the perl and ruby bindings a hash
+pointer will be returned from the call.
+
+When the filename '-' is given, the contents of the graph itself will also
+be returned through this interface (hash key 'image'). On the command line
+the output will look like this:
+
+ print[0] = "0.020833"
+ print[1] = "0.0440833"
+ graph_left = 51
+ graph_top = 22
+ graph_width = 400
+ graph_height = 100
+ image_width = 481
+ image_height = 154
+ value_min = 0.0000000000e+00
+ value_max = 4.0000000000e-02
+ image = BLOB_SIZE:8196
+ [... 8196 bytes of image data ...]
+
+There is more information returned than in the standard interface.
+Especially the 'graph_*' keys are new. They help applications that want to
+know what is where on the graph.
+
=head1 SEE ALSO
L<rrdgraph> gives an overview of how B<rrdtool graph> works.