diff --git a/html/ops/stripchart.cgi b/html/ops/stripchart.cgi deleted file mode 100755 index 5fcd9a1533..0000000000 --- a/html/ops/stripchart.cgi +++ /dev/null @@ -1,466 +0,0 @@ -#! /usr/local/bin/perl - -# The contents of this file are subject to the Mozilla Public License -# Version 1.0 (the "License"); you may not use this file except in -# compliance with the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" -# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the -# License for the specific language governing rights and limitations -# under the License. -# -# The Original Code is the Berkeley Open Infrastructure for Network Computing. -# -# The Initial Developer of the Original Code is the SETI@home project. -# Portions created by the SETI@home project are Copyright (C) 2002 -# University of California at Berkeley. All Rights Reserved. -# -# Contributor(s): -# - -# Stripchart.cgi - Version 2.0 by Matt Lebofsky ( November 4, 2002) -# -# Requires: stripchart -# apache or other CGI-enabled web server -# -# Stripchart.cgi is a web-based GUI interface for stripchart, allowing -# users to display multiple plots from various data sources. -# -# You should only need to edit the variables in the section -# "GLOBAL/DEFAULT VARS" below -# -# Type "stripchart -h" for usage -# -# See doc/stripchart.txt for details - -use CGI; -$query = CGI::new(); -use File::Basename; -use Time::Local; - -##################### -# GLOBAL/DEFAULT VARS -##################### - -# Where are these unix commands located? -$grepexe = "/usr/bin/grep"; - -# Where is the stripchart executable located? -$stripchartexe = "/usr/local/stripchart/stripchart"; - -# What is the default number of stripcharts? -$defaultnumcharts = 4; - -# Any default flags to send to stripchart? -$defaultflags = "-s"; - -# Read in list of datafiles: -$datafilelist = "/usr/local/www/share/cgi-bin/lib/datafiles"; -@datafiles = `$grepexe -v '^#' $datafilelist`; - -# Read in list of queries: -$queryfilelist = "/usr/local/www/share/cgi-bin/lib/querylist"; -@querylist = `$grepexe -v '^#' $queryfilelist`; - -# What time is it right now? -$rightnow = time; -($sec,$min,$hour,$day,$month,$year) = localtime($rightnow); -$sec = ""; -$month++; -$year += 1900; - -# Make file option list based on @datafiles -$optionlist = ""; -foreach $element (@datafiles) { - chomp $element; - $thisop = (split /:/, $element)[1]; - $optionlist .= "\n"; - } - -# Make query option list based on @querylist -$queryoptionlist = ""; -foreach $element (@querylist) { - chomp $element; - ($thisname,$thisquery) = (split /:/, $element)[0,1]; - $queryoptionlist .= "\n"; - } - -# Make year list based on time right now, and other lists -$yearlist = ""; -for ($i = $year; $i> 1999; $i--) { $yearlist .= "\n" } -$monthlist = sprintf("\n",$month); -foreach $i (01 .. 12) { $monthlist .= sprintf("\n",$i) } -$daylist = sprintf("\n",$day); -foreach $i (01 .. 31) { $daylist .= sprintf("\n",$i) } -$hourlist = sprintf("\n",$hour); -foreach $i (00 .. 23) { $hourlist .= sprintf("\n",$i) } -$minlist = sprintf("\n",$min); -for ($i=0; $i<59; $i+=5) { $minlist .= sprintf("\n",$i) } - -# Seconds in a day -$daysecs = 86400; - -############# -# SUBS -############# - -sub to_unix_time { - # same routine as in stripchart - - # no colons and no decimal point? must already be in unix time - if ($_[0] !~ /:/ && $_[0] !~ /\./ ) { return $_[0] } - - # colons = civil time - if ($_[0] =~ /:/) { - (my $year, my $month, my $day, my $hour, my $minute) = split /:/, $_[0]; - $month--; - return timelocal(0,$minute,$hour,$day,$month,$year) - } - - # must be julian date - return (($_[0] - 2440587.5) * $daysecs); - - } - -############# -# MAIN -############# - -# ARE WE JUST PLOTTING A SINGLE GRAPH? -# -# stripchart.cgi calls itself via an "param("flags"); - $outfile = "/tmp/tempout$$" . "." . rand(100000); - print "Content-type: image/gif\n\n"; - `$stripchartexe $flags > $outfile`; - open (OUTFILE,"$outfile"); - while ($dummy=read(OUTFILE,$buffer,1024)) { print $buffer } - close (OUTFILE); - exit 0 - } - -# ARE WE SAVING/DELETING A QUERY? -# -# If the user chose to save or delete a query, act on that and -# then continue on with the standard plots: - -if ($query->param("sqname") ne "") { - $sqname = $query->param("sqname"); - # are we deleting it? - if ($query->param("delq") eq "y") { - @querylist = `$grepexe -v '^$sqname:' $queryfilelist`; - open (QUERYLIST,">$queryfilelist"); - flock (QUERYLIST,2); - foreach $queryline (@querylist) { - print QUERYLIST $queryline - } - } - # must be saving it - else { - # first check to see if query already in the list - $found = 0; - foreach $checkline (@querylist) { - ($key,$value) = split /:/, $checkline; - if ($key eq $sqname) { $found = 1 } - } - # not found - add it to the end - if (!$found) { - open (QUERYLIST,">>$queryfilelist"); - flock (QUERYLIST,2); - $fullquery = $ENV{'QUERY_STRING'}; - $fullquery =~ s/sqname=$sqname//; - print QUERYLIST "$sqname:$fullquery\n"; - close (QUERYLIST); - } - } - } - -# PARSE INCOMING -$datafile1 = $query->param("df1"); - -$numcharts = $query->param("numcharts"); -if ($numcharts == 0) { $numcharts = $defaultnumcharts } - -print $query->header; -print << "EOF"; - - - - -Stripchart - - -EOF - -if ($datafile1 ne "") { # stripcharts were selected, so plot them - -foreach $which (1 .. $numcharts) { - $thisfile = $query->param("df$which"); - if ($thisfile eq "No plot" || $thisfile =~ /^-+$/ || $thisfile eq "") { next } - if ($thisfile eq "Same as datafile 1") { $thisfile = $query->param("df1") } - $rangetype = $query->param("dr$which"); - $trustnum = $which; - $from = "-f "; - $to = ""; - if ($rangetype eq "sa1") { $rangetype = $query->param("dr1"); $trustnum = 1 } - if ($rangetype eq "lh") { $from .= "-" .($query->param("lhv$trustnum") / 24) } - elsif ($rangetype eq "ld") { $from .= "-" . ($query->param("ldv$trustnum")) } - else { - $fromstring = $query->param("dfy$trustnum") . ":" . - $query->param("dfm$trustnum") . ":" . - $query->param("dfd$trustnum") . ":" . - $query->param("dfh$trustnum") . ":" . - $query->param("dfn$trustnum"); - $tostring = $query->param("dty$trustnum") . ":" . - $query->param("dtm$trustnum") . ":" . - $query->param("dtd$trustnum") . ":" . - $query->param("dth$trustnum") . ":" . - $query->param("dtn$trustnum"); - $from .= to_unix_time($fromstring); - $to = "-t " . to_unix_time($tostring) - } - - foreach $element (@datafiles) { - ($maybepath,$maybefile,$maybedatacol,$maybeflags) = split /:/, $element; - if ($maybefile eq $thisfile) { - $fullpath = $maybepath; - $datacol = $maybedatacol; - $flags = $maybeflags; - } - } - - $flags .= " $from $to"; - - if ($query->param("log$which")) { $flags .= " -L" } - if ($query->param("bavg$which")) { $flags .= " -B " } - if ($query->param("base$which")) { $flags .= " -b " . $query->param("basev$which") } - if ($query->param("ymin$which")) { $flags .= " -d " . $query->param("yminv$which") } - if ($query->param("ymax$which")) { $flags .= " -D " . $query->param("ymaxv$which") } - if ($query->param("savem")) { $flags .= " -O /tmp/stripchart_plot_$which.gif" } - - - $flags .= " -i $fullpath -y $datacol -T \"$thisfile RANGE\" $defaultflags"; - - $fixflags = $flags; - $fixflags =~ s/ /+/g; - $fixflags =~ s/"/%22/g; - - print "
\n" - - } -print "
"; - - } - -# Now display the user entry form: - -print << "EOF"; -
- -Select a saved query if you like: - - - - -
- - -Number of stripcharts: -EOF -for ($i=1;$i<21;$i++) { - $fullquery = $ENV{'QUERY_STRING'}; - $fullquery =~ s/numcharts=\d+//; - $fullquery =~ s/&+/&/g; - $fullquery =~ s/^&//; - print "$i\n" - } - -print << "EOF"; -

-

- to plot stripcharts - -enter name: - -to save query (check here: - -to delete) - -

-EOF - -foreach $which (1 .. $numcharts) { - $thisoptionlist = $optionlist; - if ($which > 1) { - $thisoptionlist = "\n" . - "\n" . - "\n" . $optionlist - } - if ($dummy = $query->param("df$which")) { - $dummy = ""; - $newoptionlist = "$dummy\n"; - foreach $thisline (split /\n/, $thisoptionlist) { - if ($dummy ne $thisline) { $newoptionlist .= "$thisline\n" } - } - $thisoptionlist = $newoptionlist; - } - $lhc = ""; - $ldc = ""; - $ownc = ""; - $sa1c = ""; - if ($dummy = $query->param("dr$which")) { - if ($dummy eq "lh") { $lhc = "checked" } - elsif ($dummy eq "ld") { $ldc = "checked" } - elsif ($dummy eq "own") { $ownc = "checked" } - elsif ($dummy eq "sa1") { $sa1c = "checked" } - } - else { - if ($which > 1) { $sa1c = "checked" } - else { $lhc = "checked" } - } - $samerange = ""; - if ($which > 1) { - $samerange = " Same range as datafile 1" - } - - $logcheck = ""; - if ($query->param("log$which") eq "y") { $logcheck = "checked" } - - $bavgcheck = ""; - if ($query->param("bavg$which") eq "y") { $bavgcheck = "checked" } - $basecheck = ""; - if ($query->param("base$which") eq "y") { $basecheck = "checked"; $baseval = $query->param("basev$which") } - - - $ymincheck = ""; - $ymaxcheck = ""; - if ($query->param("ymin$which") eq "y") { $ymincheck = "checked"; $yminval = $query->param("yminv$which") } - if ($query->param("ymax$which") eq "y") { $ymaxcheck = "checked"; $ymaxval = $query->param("ymaxv$which") } - - if ($dummy = $query->param("dfy$which")) { - $dfytop = "\n\n" } - else { $dfytop = "" } - if ($dummy = $query->param("dfm$which")) { - $dfmtop = "\n\n" } - else { $dfmtop = "" } - if ($dummy = $query->param("dfd$which")) { - $dfdtop = "\n\n" } - else { $dfdtop = "" } - if ($dummy = $query->param("dfh$which")) { - $dfhtop = "\n\n" } - else { $dfhtop = "" } - if ($dummy = $query->param("dfn$which")) { - $dfntop = "\n\n" } - else { $dfntop = "" } - - if ($dummy = $query->param("dty$which")) { - $dtytop = "\n\n" } - else { $dtytop = "" } - if ($dummy = $query->param("dtm$which")) { - $dtmtop = "\n\n" } - else { $dtmtop = "" } - if ($dummy = $query->param("dtd$which")) { - $dtdtop = "\n\n" } - else { $dtdtop = "" } - if ($dummy = $query->param("dth$which")) { - $dthtop = "\n\n" } - else { $dthtop = "" } - if ($dummy = $query->param("dtn$which")) { - $dtntop = "\n\n" } - else { $dtntop = "" } - - $lhourlist = ""; - if ($query->param("lhv$which")) { - $lhourlist = ""; - } - foreach $hourval (24,36,48,60,72) { - if ($hourval != $query->param("lhv$which")) { - $lhourlist .= ""; - } - } - - $ldaylist = ""; - if ($query->param("ldv$which")) { - $ldaylist = ""; - } - foreach $dayval (2,3,4,5,6,7,10,14,21,28,30,60,90,120,240,360,720) { - if ($dayval != $query->param("ldv$which")) { - $ldaylist .= ""; - } - } - -print << "EOF"; -please select datafile $which: - -
- Last - - - - -hours    - Last - - - - - -days    -$samerange -
- Enter range: -
- -// : -> -// : - - -
- Log y axis? - Baseline average, or - Baseline at: - - Y min: - - Y max: - -
-


-EOF - - } # end foreach $which - -print << "EOF"; - Save images in /tmp? -
- to plot stripcharts - -

-Reset Form

-(Note: A set of stripcharts takes upwards to 10-60 seconds to generate) - - -EOF -