RRDs(3)                      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 documenta-
       tion. 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;


       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 val-
       ues 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>



3rd Berkeley Distribution     1.0.33                      RRDs(3)
