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);