diff --git a/webtools/graph/rawdata.cgi b/webtools/graph/rawdata.cgi new file mode 100755 index 00000000000..2b069a9307b --- /dev/null +++ b/webtools/graph/rawdata.cgi @@ -0,0 +1,76 @@ +#!/usr/bin/perl +# -*- Mode: perl; indent-tabs-mode: nil -*- +use CGI::Carp qw(fatalsToBrowser); +use CGI::Request; +use Date::Calc qw(Add_Delta_Days); # http://www.engelschall.com/u/sb/download/Date-Calc/ + +my $req = new CGI::Request; + +my $TESTNAME = lc($req->param('testname')); +my $TBOX = lc($req->param('tbox')); +my $DAYS = lc($req->param('days')); +my $DATAFILE = "db/$TESTNAME/$TBOX"; + + +sub show_data { + die "$TBOX: no data file found." + unless -e $DATAFILE; + + # + # At some point we might want to clip the data printed + # based on days=n. + + # Set scaling for x-axis (time) + #my $today; + #my $n_days_ago; + + # Get current time, $today. + #my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdat) = localtime(); + #$year += 1900; + #$mon += 1; + #$today = sprintf "%04d:%02d:%02d:%02d:%02d:%02d", $year, $mon, $mday, $hour, $min, $sec; + + # Calculate date $DAYS before $today. + #my ($year2, $mon2, $mday2) = Add_Delta_Days($year, $mon, $mday, -$DAYS); + #$n_days_ago= sprintf "%04d:%02d:%02d:%02d:%02d:%02d", $year2, $mon2, $mday2, $hour, $min, $sec; + + + # Print data that got plotted. + print "Data in plot form: (t, y)
\n"; + open DATA, "$DATAFILE" or die "Couldn't open file, $DATAFILE: $!"; + while () { + my @line = split('\t',$_); + print "@line[0] @line[1]
\n"; + } + close DATA; + + + # Print data again, in raw format. + print "
\n"; + print "
\n"; + print "Data in raw form: (t, y, opaque data, ip, user agent)
\n"; + open DATA, "$DATAFILE" or die "Couldn't open file, $DATAFILE: $!"; + while () { + print "$_
\n"; + } + close DATA; + +} + +# main +{ + + print "Content-type: text/html\n\n\n"; + print "$TESTNAME machines"; + + if(!$TESTNAME) { + print "Error: need testname."; + } elsif(!$TBOX) { + print "Error: need machine name."; + } else { + show_data(); + } +} + +exit 0; +