diff options
| -rw-r--r-- | llvm/utils/NLT.schema | 7 | ||||
| -rwxr-xr-x | llvm/utils/cgiplotNLT.pl | 67 | ||||
| -rwxr-xr-x | llvm/utils/webNLT.pl | 80 | 
3 files changed, 154 insertions, 0 deletions
diff --git a/llvm/utils/NLT.schema b/llvm/utils/NLT.schema new file mode 100644 index 00000000000..1d4b4479739 --- /dev/null +++ b/llvm/utils/NLT.schema @@ -0,0 +1,7 @@ +CREATE TABLE `Tests` ( +  `NAME` varchar(255) NOT NULL default '', +  `RUN` date NOT NULL default '0000-00-00', +  `TEST` varchar(32) NOT NULL default '', +  `VALUE` double NOT NULL default '0', +  KEY `name_index` (`NAME`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 diff --git a/llvm/utils/cgiplotNLT.pl b/llvm/utils/cgiplotNLT.pl new file mode 100755 index 00000000000..d9b61d813f9 --- /dev/null +++ b/llvm/utils/cgiplotNLT.pl @@ -0,0 +1,67 @@ +#!/usr/bin/perl +#takes a test and a program from a dp and produces a gnuplot script +#use like perl plotNLT.pl password Programs/MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000 llc + +use CGI; +use DBI; +my $q = new CGI; + +# database information +$db="llvmalpha"; +$host="localhost"; +$userid="llvmdbuser"; +$passwd=$q->param('pwd'); +$connectionInfo="dbi:mysql:$db;$host"; + +# make connection to database +$dbh = DBI->connect($connectionInfo,$userid,$passwd) or die DBI->errstr; + + +$count = 0; +while ($q->param('n' . $count)) +  { +    $count++; +  } + +$| = 1; +print "Content-type: image/png", "\n\n"; + +open CMDSTREAM, "|gnuplot"; + +print CMDSTREAM "set terminal png\n"; +print CMDSTREAM "set output\n"; +print CMDSTREAM "set xdata time\n"; +print CMDSTREAM 'set timefmt "%Y-%m-%d"'; +print CMDSTREAM "\nplot"; +for ($iter = 0; $iter < $count; $iter++) { +  if ($iter) +    { print CMDSTREAM ","; } +  print CMDSTREAM " '-' using 1:2 with lines"; +} + +print CMDSTREAM "\n"; + +for ($iter = 0; $iter < $count; $iter++) { + +  $prog = $q->param('n' . $iter); +  $test = $q->param('t' . $iter); + +  $query = "Select RUN, VALUE from Tests where TEST = '$test' AND NAME = '$prog' ORDER BY RUN"; +  #print "\n$query\n"; +   +  my $sth = $dbh->prepare( $query) || die "Can't prepare statement: $DBI::errstr";; +   +  my $rc = $sth->execute or die DBI->errstr; +   +  while(($da,$v) = $sth->fetchrow_array) +    { +      print CMDSTREAM "$da $v\n"; +    } +   +  print CMDSTREAM "e\n"; +} +print CMDSTREAM "exit\n"; +close CMDSTREAM; + +# disconnect from database +$dbh->disconnect; diff --git a/llvm/utils/webNLT.pl b/llvm/utils/webNLT.pl new file mode 100755 index 00000000000..7f55b60187c --- /dev/null +++ b/llvm/utils/webNLT.pl @@ -0,0 +1,80 @@ +#!/usr/bin/perl + +use DBI; +use CGI; + +$q = new CGI; +print $q->header(); +print $q->start_html(-title=>"Nightly Tester DB"); + +unless($q->param('pwd')) +  { +    print $q->startform(); +    print $q->password_field(-name=>"pwd", -size=>20, -maxlength=>20); +    print $q->submit(); +    print $q->endform(); +  } +else +  { +    # database information +    $db="llvmalpha"; +    $host="localhost"; +    $userid="llvmdbuser"; +    $passwd=$q->param('pwd'); +    $connectionInfo="dbi:mysql:$db;$host"; +     +    # make connection to database +    $dbh = DBI->connect($connectionInfo,$userid,$passwd) or die DBI->errstr; +    $query = "Select DISTINCT(NAME) from Tests"; +    my $sth = $dbh->prepare($query) || die "Can't prepare statement: $DBI::errstr"; +    my $rc = $sth->execute or die DBI->errstr; +    while (($n) = $sth->fetchrow_array) +      { +        push @names, ($n); +#        print "$n<P>"; +      } +    $query = "Select DISTINCT(TEST) from Tests"; +    my $sth = $dbh->prepare($query) || die "Can't prepare statement: $DBI::errstr"; +    my $rc = $sth->execute or die DBI->errstr; +    while (($n) = $sth->fetchrow_array) +      { +        push @tests, ($n); +#        print "$n\n"; +      } + +#    print join "<BR>", @names; + +    print $q->startform(); +    print $q->scrolling_list(-name=>"test", -values=>\@tests, -multiple=>'true'); +    print "<P>"; +    print $q->scrolling_list(-name=>"name", -values=>\@names, -multiple=>'true'); +    print "<P>"; +    print $q->submit(); +    print $q->hidden("pwd", $q->param('pwd')); +    print $q->endform(); + +    # disconnect from database +    $dbh->disconnect; + +    #now generate the urls to the chart +    if ($q->param('test') && $q->param('name')) +      { +        my @names = $q->param('name'); +        my @tests = $q->param('test'); +        $str = "pwd=" . $q->param('pwd'); +        $count = 0; +        while (@names) +          { +            $n = pop @names; +            while (@tests) +              { +                $t = pop @tests; +                $str .= "&t$count=$t&n$count=$n"; +                $count++; +              } +          } +        print "<img src=\"cgiplotNLT.pl?$str\">"; +      } +  } + +print $q->end_html();  | 

