名称 RRDs - rrdtoolを共有モジュールとしてアクセスします。 ------------------------------------------------------------------------------- 書式 use RRDs; RRDs::error RRDs::last ... RRDs::info ... RRDs::create ... RRDs::update ... RRDs::graph ... RRDs::fetch ... RRDs::tune ... ------------------------------------------------------------------------------- 解説 サブルーチンコール このモジュールはperlの内部からrrdtoolに直接サブルーチンとして アクセスします。「書式」にあげられているサブルーチンへの引数は通常の rrdtoolマニュアルで説明されています。次のコマンドライン呼び出し rrdtool update mydemo.rrd --template in:out N:12:13 は次のようになります。 RRDs::update ("mydemo.rrd", "--template", "in:out", "N:12:13"); 注: --template=in:out でも問題ありません。 エラー取得 RRDのサブルーチンは与えられた引数が意味を成さないものであっても プログラムを強制終了したりはしません。 各サブルーチンコールの後にRRDs::errorサブルーチンを呼び出して エラーステータスを取得すべきです。RRDs::errorが何も返さなかった場合は 直前のサブルーチンは正常に完了したということです。 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、RRDs::graph、RRDs::info、RRDs::fetchは返り値を 返します。 RRDs::lastは最終更新時刻を表す整数値を返します。 $lastupdate = RRDs::last ... RRDs::graphは生成された画像の幅と高さ、PRINT引数の結果を含む配列への リファレンスを返します。 ($averages,$xsize,$ysize) = RRDs::graph ... print "Gifsize: ${xsize}x${ysize}\n"; print "Averages: ", (join ", ", @$averages); RRDs::infoはハッシュのリファレンスを返します。ハッシュのキーはRRDの 各設定の名前でハッシュの値は各設定の値です。 $hash = RRDs::info "example.rrd"; foreach my $key (keys %$hash){ print "$key = $$hash{$key}\n"; } RRDs::fetchは最も複雑な返り値になっています。返り値は2つの普通の整数、 配列へのリファレンス、リファレンスの配列へのリファレンスの4つです。 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"; } より多くのこの機能の使い方についてはexamplesディレクトリを見てください。 ------------------------------------------------------------------------------- 著者 Tobias Oetiker