Code

initial
[rrdtool-all.git] / tutorial / ouce2013 / rrd-by-example / ex / rrd-size.pl
1 #!/usr/bin/perl
2 sub rrd_sizer {
3   my ($ds_cnt,$rra_sz,$rra_cnt) = @_;
4   system 'rrdtool', 'create', 'sizer.rrd',
5       map({ "DS:d${_}:GAUGE:600:U:U" } 1..$ds_cnt),
6       map({ "RRA:AVERAGE:0.5:1:$rra_sz" } 1..$rra_cnt);
7   my $size = -s 'sizer.rrd';
8   printf "DSs: %1d  RRA Row: %1d  RRAs: %1d == %3d byte\n", 
9       $ds_cnt,$rra_sz,$rra_cnt,$size;
10   return $size;
11   }
12 #                       DSs RRAs RRA Rows  
13 my $base    = rrd_sizer  1,    1,    1;
14 my $ds      = rrd_sizer  2,    1,    1;
15 my $rra_sz  = rrd_sizer  1,    2,    1;
16 my $rra_cnt = rrd_sizer  1,    1,    2;
17 printf "+1 DS:      %3d byte\n",($ds - $base);
18 printf "+1 RRA Row: %3d byte\n",($rra_sz - $base);
19 printf "+1 RRA:     %3d byte\n",($rra_cnt - $base);