RRDs - Access rrdtool as a shared module
use RRDs; RRDs::error RRDs::last ... RRDs::info ... RRDs::create ... RRDs::update ... RRDs::graph ... RRDs::fetch ... RRDs::tune ...
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
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;
RRDs::last returns a single INTEGER representing the last update time.
$lastupdate = RRDs::last ...
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.
($averages,$xsize,$ysize) = RRDs::graph ...
print "ImageSize: ${xsize}x${ysize}\n";
print "Averages: ", (join ", ", @$averages);
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 the values of the properties.
$hash = RRDs::info "example.rrd";
foreach my $key (keys %$hash){
print "$key = $$hash{$key}\n";
}
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.
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.
use POSIX qw(tzset);
$ENV{TZ} = 'CET';
POSIX::tzset();
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |