graph('Disk space', $vol, {
Slower => 1,
},
- [
+ [ '-A','-l',0,'-r',
qw(-b 1024 -l 0),
(map { "DEF:$_=$src:$_:AVERAGE" } qw(free used)),
"AREA:used#000:used:STACK",
my $gname= param('graph');
+sub num_param ($$$$) {
+ my ($param,$def,$min,$max) = @_;
+ my $v= param($param);
+ return $def if !defined $v;
+ $v =~ m/^([1-9]\d{0,8})$/ or die;
+ $v= $1;
+ die unless $v >= $min && $v <= $max;
+ return $v + 0;
+}
+
if ($gname) {
my $g= $graphs{$section,$gname};
die unless $g;
my @args= @{ $g->{Args} };
+ my $width= num_param('w',370,100,1600);
+ my $height= num_param('h',200,100,1600);
+
my $end= param('end');
if (defined $end) {
$end =~ m/^(\d+)$/ or die;
$title .= " $g->{Units}" if $g->{Units};
unshift @args, '-t', $title;
- exec qw(rrdtool graph - -a PNG --full-size-mode -w 370 -h 200), @args;
+ exec (qw(rrdtool graph - -a PNG --full-size-mode),
+ '-w',$width, '-h',$height,
+ @args);
die $!;
}
die unless $g;
start_page("$detail graphs");
foreach my $end (@timeranges[$g->{Slower}..$g->{Slower}+3]) {
- print "<img src=\"$self?graph=$detail§ion=$section&end=$end\">\n";
+ my $imgurl= "$self?graph=$detail§ion=$section&end=$end";
+ print "<a href=\"$imgurl&w=780&h=800\"><img src=\"$imgurl\"></a>\n";
}
print end_html();
exit 0;