root/gnuplot.cgi @ 3535716b
3535716b | Hamish Coleman | #!/usr/bin/perl
|
|
use warnings;
|
|||
use strict;
|
|||
#
|
|||
# Given the name of a MRTG log file in the current directory, output a PNG
|
|||
#
|
|||
use CGI ':all';
|
|||
use CGI::Carp qw(fatalsToBrowser);
|
|||
my $log = param('log');
|
|||
if (!defined $log) {
|
|||
die "No logfile";
|
|||
}
|
|||
if (! -e $log) {
|
|||
die "logfile does not exist";
|
|||
}
|
|||
my $xsize = param('xs') || 700;
|
|||
my $ysize = param('ys') || 135;
|
|||
my $ylabel = param('ylabel') || 'Bytes per Second';
|
|||
my $li = param('li') || 'In';
|
|||
my $lo = param('lo') || 'Out';
|
|||
# FIXME - calulate the timezone
|
|||
my $timezone_offset=39600;
|
|||
print "Content-Type: image/png\n\n";
|
|||
open( GNUPLOT, "|/usr/bin/gnuplot");
|
|||
print GNUPLOT <<EOF;
|
|||
set terminal png size $xsize,$ysize
|
|||
set key left top
|
|||
set grid
|
|||
set xdata time
|
|||
set format y "%.0s %c"
|
|||
set timefmt "%s"
|
|||
set datafile missing "0"
|
|||
# set title "MRTG from $log"
|
|||
# set xlabel "Time"
|
|||
set ylabel "$ylabel"
|
|||
plot "$log" using (\$1+$timezone_offset):4 t '$li' lt rgb 'green' w filledcurves y1=0 , \\
|
|||
"$log" using (\$1+$timezone_offset):5 t '$lo' lt rgb 'blue' w lines
|
|||
EOF
|
|||