X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=bindings%2Fperl-shared%2FRRDs.pm;h=0f7f2a53d866abf258af6487a6d14a653b6eae09;hp=2cd337033e7520b94715914aad60d0d5f39fa574;hb=ce30e9e1379022835687aa08b7712e27372e05ec;hpb=0fe03275068c0e55d01a7cc2308fa12fdee569cf diff --git a/bindings/perl-shared/RRDs.pm b/bindings/perl-shared/RRDs.pm index 2cd3370..0f7f2a5 100644 --- a/bindings/perl-shared/RRDs.pm +++ b/bindings/perl-shared/RRDs.pm @@ -7,7 +7,7 @@ use vars qw(@ISA $VERSION); require DynaLoader; -$VERSION = 1.000331; +$VERSION=1.4001; 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 format +used by RRDtool. See the B 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 returns a single INTEGER representing the last update time. $lastupdate = RRDs::last ... -B returns an pointer to an ARRAY containing the x-size and y-size of the -created image and results of the PRINT arguments. +B 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 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,17 @@ the values of the properties. print "$key = $$hash{$key}\n"; } +B takes the same parameters as B 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 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 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. @@ -100,19 +120,33 @@ 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 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 POSIX +function L 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 Eoetiker@ee.ethz.chE +Tobias Oetiker Etobi@oetiker.chE =cut