bindings should invoke new rrd_flushcached (instead of rrd_cmd_flush) -- kevin
[rrdtool.git] / bindings / perl-shared / RRDs.pm
index fbe4478..33dd529 100644 (file)
@@ -7,7 +7,7 @@ use vars qw(@ISA $VERSION);
 
 require DynaLoader;
 
-$VERSION = 1.100001;
+$VERSION=1.3002;
 
 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,22 @@ 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 ...
+  RRDs::flushcached ...
 
 =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 command line call
 
  rrdtool update mydemo.rrd --template in:out N:12:13
 
@@ -50,6 +55,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 +76,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 image and results of the PRINT arguments.
+B<RRDs::graph> returns an ARRAY containing the x-size and y-size of the
+created image and a pointer to an array with the results of the PRINT arguments.
 
- ($averages,$xsize,$ysize) = RRDs::graph ...
+ ($result_arr,$xsize,$ysize) = RRDs::graph ...
  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 +99,12 @@ the values of the properties.
    print "$key = $$hash{$key}\n";
  }
 
+B<RRDs::graphv> takes the same parameters 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
@@ -105,21 +120,24 @@ integers, a pointer to an array and a pointer to a array of pointers.
   print "DS names:    ", join (", ", @$names)."\n";
   print "Data points: ", $#$data + 1, "\n";
   print "Data:\n";
-  foreach my $line (@$data) {
+  for my $line (@$data) {
     print "  ", scalar localtime($start), " ($start) ";
     $start += $step;
-    foreach my $val (@$line) {
+    for my $val (@$line) {
       printf "%12.1f ", $val;
     }
     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
+If you are manipulating the TZ variable you should also call the POSIX
+function L<tzset(3)> to initialize all internal state of the library for properly
 operating in the timezone of your choice.
 
  use POSIX qw(tzset);
@@ -129,6 +147,6 @@ operating in the timezone of your choice.
 
 =head1 AUTHOR
 
-Tobias Oetiker E<lt>oetiker@ee.ethz.chE<gt>
+Tobias Oetiker E<lt>tobi@oetiker.chE<gt>
 
 =cut