Introduced a alternated interface to rrd_graph using rrd_info style return
[rrdtool.git] / bindings / perl-shared / RRDs.pm
index 7ed87c2..757e5ce 100644 (file)
@@ -7,7 +7,7 @@ use vars qw(@ISA $VERSION);
 
 require DynaLoader;
 
-$VERSION = 1.000331;
+$VERSION=1.299907080300;
 
 bootstrap RRDs $VERSION;
 
@@ -16,7 +16,7 @@ __END__
 
 =head1 NAME
 
-RRDs - Access rrdtool as a shared module
+RRDs - Access RRDtool as a shared module
 
 =head1 SYNOPSIS
 
@@ -26,17 +26,21 @@ RRDs - Access rrdtool as a shared module
   RRDs::info ...
   RRDs::create ...
   RRDs::update ...
+  RRDs::updatev ...
   RRDs::graph ...
   RRDs::fetch ...
   RRDs::tune ...
+  RRDs::times(start, end)
+  RRDs::dump ...
+  RRDs::restore ...
 
 =head1 DESCRIPTION
 
 =head2 Calling Sequence
 
-This module accesses rrdtool functionality directly from within perl. The
+This module accesses RRDtool functionality directly from within perl. The
 arguments to the functions listed in the SYNOPSIS are explained in the regular
-rrdtool documentation. The commandline call
+RRDtool documentation. The commandline call
 
  rrdtool update mydemo.rrd --template in:out N:12:13
 
@@ -50,6 +54,10 @@ Note that
 
 is also valid.
 
+The RRDs::times function takes two parameters:  a "start" and "end" time.
+These should be specified in the B<AT-STYLE TIME SPECIFICATION> format
+used by RRDtool.  See the B<rrdfetch> documentation for a detailed
+explanation on how to specify time.
 
 =head2 Error Handling
 
@@ -67,22 +75,22 @@ then the previous function has completed its task successfully.
 
 =head2 Return Values
 
-The functions RRDs::last, RRDs::graph, RRDs::info and RRDs::fetch return their
-findings.
+The functions RRDs::last, RRDs::graph, RRDs::info, RRDs::fetch and RRDs::times
+return their findings.
 
 B<RRDs::last> returns a single INTEGER representing the last update time.
 
  $lastupdate = RRDs::last ...
 
 B<RRDs::graph> returns an pointer to an ARRAY containing the x-size and y-size of the
-created gif and results of the PRINT arguments.
+created image and results of the PRINT arguments.
 
  ($averages,$xsize,$ysize) = RRDs::graph ...
- print "Gifsize: ${xsize}x${ysize}\n";
+ print "Imagesize: ${xsize}x${ysize}\n";
  print "Averages: ", (join ", ", @$averages);
 
 B<RRDs::info> returns a pointer to a hash. The keys of the hash
-represent the property names of the rrd and the values of the hash are
+represent the property names of the RRD and the values of the hash are
 the values of the properties.  
 
  $hash = RRDs::info "example.rrd";
@@ -90,6 +98,17 @@ the values of the properties.
    print "$key = $$hash{$key}\n";
  }
 
+B<RRDs::graphv> takes the same paramters as B<RRDs::graph> but it returns a
+pointer to hash. The hash returned contains meta information about the
+graph. Like its size as well as the position of the graph area on the image.
+When calling with and empty filename than the contents of the graph will be
+returned in the hash as well (key 'image').
+
+B<RRDs::updatev> also returns a pointer to hash. The keys of the hash
+are concatenated strings of a timestamp, RRA index, and data source name for
+each consolidated data point (CDP) written to disk as a result of the
+current update call. The hash values are CDP values.
+
 B<RRDs::fetch> is the most complex of
 the pack regarding return values. There are 4 values. Two normal
 integers, a pointer to an array and a pointer to a array of pointers.
@@ -109,10 +128,24 @@ integers, a pointer to an array and a pointer to a array of pointers.
     print "\n";
   }
 
+B<RRDs::times> returns two integers which are the number of seconds since
+epoch (1970-01-01) for the supplied "start" and "end" arguments, respectively.
+
 See the examples directory for more ways to use this extension.
 
+=head1 NOTE
+
+If you are manipulating the TZ variable you should also call the posixs
+function tzset to initialize all internal state of the library for properly
+operating in the timezone of your choice.
+
+ use POSIX qw(tzset);
+ $ENV{TZ} = 'CET';   
+ POSIX::tzset();     
+
+
 =head1 AUTHOR
 
-Tobias Oetiker E<lt>oetiker@ee.ethz.chE<gt>
+Tobias Oetiker E<lt>tobi@oetiker.chE<gt>
 
 =cut