prepare for the release of rrdtool-1.3.0
[rrdtool.git] / doc / rrdgraph.pod
index 6c7c330..048171a 100644 (file)
@@ -4,7 +4,7 @@ rrdgraph - Round Robin Database tool grapher functions
 
 =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>> ...]
@@ -50,9 +50,16 @@ graph it (or print it).  This ends the B<rrdtool graph> sequence.
 
 =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.
@@ -60,7 +67,7 @@ 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>]
@@ -78,7 +85,7 @@ If you want B<rrdtool graph> to get data at a one-hour resolution
 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>]
@@ -86,7 +93,7 @@ one pixel will silently be ignored.
 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>]
@@ -105,7 +112,7 @@ pixels you will get a tiny graph image (thumbnail) to use as an icon
 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>]
@@ -153,9 +160,9 @@ to turn this behaviour off.
 
 Gridfitting is turned off for PDF, EPS, SVG output by default.
 
-=item Grid
+=head2 Grid
 
-=over 4
+=over
 
 =item X-Axis
 
@@ -251,7 +258,7 @@ Note that for linear graphs, SI notation is used by default.
 
 =back
 
-=item Miscellaneous
+=head2 Miscellaneous
 
 [B<-z>|B<--lazy>]
 
@@ -338,6 +345,28 @@ This specifies the largest font size which will be rendered
 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:
@@ -391,7 +420,7 @@ measurement, 1 kb/s is 1000 b/s.
 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>]
 
@@ -403,35 +432,43 @@ You need at least one B<DEF> statement to generate anything. The
 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.