


rrdtool                                                   RRDs(3)



NNNNAAAAMMMMEEEE
     RRDs - Access rrdtool as a shared module

SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
       use RRDs;
       RRDs::error
       RRDs::last ...
       RRDs::info ...
       RRDs::create ...
       RRDs::update ...
       RRDs::graph ...
       RRDs::fetch ...
       RRDs::tune ...


DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
     CCCCaaaalllllllliiiinnnngggg SSSSeeeeqqqquuuueeeennnncccceeee

     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 update mydemo.rrd --template in:out N:12:13

     gets turned into

      RRDs::update ("mydemo.rrd", "--template", "in:out", "N:12:13");

     Note that

      --template=in:out

     is also valid.

     EEEErrrrrrrroooorrrr HHHHaaaannnnddddlllliiiinnnngggg

     The RRD functions will not abort your program even when they
     can not make sense out of the arguments you fed them.

     The function RRDs::error should be called to get the error
     status after each function call. If RRDs::error does not
     return anything then the previous function has completed its
     task successfully.

      use RRDs;
      RRDs::update ("mydemo.rrd","N:12:13");
      my $ERR=RRDs::error;
      die "ERROR while updating mydemo.rrd: $ERR\n" if $ERR;






2001-02-22             Last change: 1.0.33                      1






rrdtool                                                   RRDs(3)



     RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss

     The functions RRDs::last, RRDs::graph, RRDs::info and
     RRDs::fetch return their findings.

     RRRRRRRRDDDDssss::::::::llllaaaasssstttt returns a single INTEGER representing the last
     update time.

      $lastupdate = RRDs::last ...

     RRRRRRRRDDDDssss::::::::ggggrrrraaaapppphhhh returns an pointer to an ARRAY containing the x-
     size and y-size of the created gif and results of the PRINT
     arguments.

      ($averages,$xsize,$ysize) = RRDs::graph ...
      print "Gifsize: ${xsize}x${ysize}\n";
      print "Averages: ", (join ", ", @$averages);

     RRRRRRRRDDDDssss::::::::iiiinnnnffffoooo 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 the values of the properties.

      $hash = RRDs::info "example.rrd";
      foreach my $key (keys %$hash){
        print "$key = $$hash{$key}\n";
      }

     RRRRRRRRDDDDssss::::::::ffffeeeettttcccchhhh 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.

       my ($start,$step,$names,$data) = RRDs::fetch ...
       print "Start:       ", scalar localtime($start), " ($start)\n";
       print "Step size:   $step seconds\n";
       print "DS names:    ", join (", ", @$names)."\n";
       print "Data points: ", $#$data + 1, "\n";
       print "Data:\n";
       foreach my $line (@$data) {
         print "  ", scalar localtime($start), " ($start) ";
         $start += $step;
         foreach my $val (@$line) {
           printf "%12.1f ", $val;
         }
         print "\n";
       }

     See the examples directory for more ways to use this
     extension.

AAAAUUUUTTTTHHHHOOOORRRR
     Tobias Oetiker <oetiker@ee.ethz.ch>




2001-02-22             Last change: 1.0.33                      2



