| <?php |
| /****************************** |
| * |
| * Checking input variables |
| * |
| ******************************/ |
| if(!isset($HTTP_GET_VARS['machine']) || !is_numeric($HTTP_GET_VARS['machine'])){ |
| print "Error: Incorrect URL!\n"; |
| die(); |
| } |
| $machine_id = $HTTP_GET_VARS['machine']; |
| |
| if(!isset($HTTP_GET_VARS['night']) || !is_numeric($HTTP_GET_VARS['night'])){ |
| print "Error: Incorrect URL!\n"; |
| die(); |
| } |
| $night_id = $HTTP_GET_VARS['night']; |
| |
| |
| if(!(include "NightlyTester.php")){ |
| print "Error: could not load necessary files!\n"; |
| die(); |
| } |
| |
| if(!(include"ProgramResults.php")){ |
| print "Error: could not load necessary files!\n"; |
| die(); |
| } |
| |
| $mysql_link=mysql_connect("127.0.0.1","llvm","ll2002vm") or die("Error: could not connect to database!\n"); |
| mysql_select_db("nightlytestresults"); |
| |
| $row = getMachineInfo($machine_id); |
| $today_row = getNightInfo($night_id); |
| $cur_date=$today_row['added']; |
| |
| $today_query = getSuccessfulNightsHistory($machine_id,$night_id); |
| $today_row = mysql_fetch_array($today_query); |
| $yesterday_row = mysql_fetch_array($today_query); |
| $oldday_row = mysql_fetch_array($today_query); |
| mysql_free_result($today_query); |
| $previous_succesful_id = $yesterday_row['id']; |
| ?> |
| |
| <html> |
| <head> |
| <title>LLVM Nightly Test Results For <?php print $cur_date; ?></title> |
| <STYLE TYPE="text/css"> |
| <!-- |
| @import url(style.css); |
| --> |
| </STYLE> |
| <script type="text/javascript" src="sorttable.js"></script> |
| <script type="text/javascript" src="popup.js"></script> |
| </head> |
| <body> |
| |
| <center><font size=+3 face=Verdana><b>LLVM Nightly Test Results For <?php print $cur_date; ?></b></font></center><br> |
| |
| <table cellspacing=0 cellpadding=0 border=0> |
| <tr> |
| <td valign=top width="180"> |
| <? |
| $machine = $HTTP_GET_VARS['machine']; |
| $night = $HTTP_GET_VARS['night']; |
| include 'sidebar.php'; |
| ?> |
| </td> |
| <td> |
| <?php |
| |
| /***************************************************** |
| * |
| * Printing machine information |
| * |
| ******************************************************/ |
| print "<table border=1 cellpadding=0 cellspacing=0>\n"; |
| print "<tr>\n"; |
| print "<td><b>Nickname:</b></td>"; |
| print "<td>{$row['nickname']}</td>\n"; |
| print "</tr>\n"; |
| print "<tr>\n"; |
| print "<td><b>uname:</b></td>"; |
| print "<td>{$row['uname']}</td>\n"; |
| print "</tr>\n"; |
| print "<tr>\n"; |
| print "<td><b>Hardware:</b></td>"; |
| print "<td>{$row['hardware']}</td>\n"; |
| print "</tr>\n"; |
| print "<tr>\n"; |
| print "<td><b>OS:</b></td>"; |
| print "<td>{$row['os']}</td>\n"; |
| print "</tr>\n"; |
| print "<tr>\n"; |
| print "<td><b>Hostname:</b></td>"; |
| print "<td>{$row['name']}</td>\n"; |
| print "</tr>\n"; |
| print "<tr>\n"; |
| print "<td><b>GCC:</b></td>"; |
| print "<td>{$row['gcc']}</td>\n"; |
| print "</tr>\n"; |
| print "<tr>\n"; |
| print "<td><b>Machine ID:</b></td>"; |
| print "<td>{$row['id']}</td>\n"; |
| print "</tr>\n"; |
| print "</table>\n<br>\n"; |
| |
| /***************************************************** |
| * |
| * Printing link to build log |
| * |
| ******************************************************/ |
| print"<h4><a href=\"fulltest.php?machine=$machine_id&night=$night_id\">See Full Test Results</a></h4>\n"; |
| |
| $buildfile=str_replace(" ", "_", $cur_date); |
| if(file_exists("machines/$machine_id/$buildfile-Build-Log.txt")){ |
| print "<h4><a href=\"machines/$machine_id/$buildfile-Build-Log.txt\">". |
| "View Build Log</a></h4>\n"; |
| } |
| |
| /***************************************************** |
| * |
| * Printing the build status |
| * |
| ******************************************************/ |
| if(strpos($today_row['buildstatus'], "OK")===FALSE){ |
| $disp=""; |
| $sign="(+)"; |
| } |
| else{ |
| $disp="none"; |
| $sign="(-)"; |
| } |
| |
| print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer". |
| "('buildStatus');\", id=\"buildStatus_\">$sign Build Status</a></font>\n"; |
| print "<div id=\"buildStatus\" style=\"display: $disp;\" class=\"hideable\">\n"; |
| print "<h3><u>Build Status </u></h3></p>"; |
| print "<font color=red>{$today_row['buildstatus']}</font><br>\n"; |
| print "</div><br><br>\n"; |
| |
| /***************************************************** |
| * |
| * Printing changes in test suite |
| * |
| ******************************************************/ |
| $new_tests=htmlifyTestResults(getNewTests($night_id, $previous_succesful_id)); |
| if(strcmp($new_tests,"")===0){ |
| $new_tests="None"; |
| } |
| $removed_tests=htmlifyTestResults(getRemovedTests($night_id, $previous_succesful_id)); |
| if(strcmp($removed_tests,"")===0){ |
| $removed_tests="None"; |
| } |
| $newly_passing_tests=htmlifyTestResults(getFixedTests($night_id, $previous_succesful_id)); |
| if(strcmp($newly_passing_tests,"")===0){ |
| $newly_passing_tests="None"; |
| } |
| $newly_failing_tests=htmlifyTestResults(getBrokenTests($night_id, $previous_succesful_id)); |
| if(strcmp($newly_failing_tests,"")===0){ |
| $newly_failing_tests="None"; |
| } |
| |
| if(strpos($new_tests, "None")!==FALSE && |
| strpos($removed_tests, "None")!==FALSE && |
| strpos($newly_passing_tests, "None")!==FALSE && |
| strpos($newly_failing_tests, "None")!==FALSE ){ |
| $disp="none"; |
| $sign="(-)"; |
| } |
| else{ |
| $disp=""; |
| $sign="(+)"; |
| } |
| |
| print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('testSuite');\", id=\"testSuite_\">$sign Test Suite Changes</a></font>\n"; |
| print "<div id=\"testSuite\" style=\"display: $disp;\" class=\"hideable\">\n"; |
| print"<h3><u>Test suite changes:</u></h3>\n"; |
| print"<b>New tests:</b><br>\n"; |
| print "$new_tests<br><br>\n"; |
| print"<b>Removed tests:</b><br>\n"; |
| print "$removed_tests<br><br>\n"; |
| print"<b>Newly passing tests:</b><br>\n"; |
| print "$newly_passing_tests<br><br>\n"; |
| print"<b>Newly failing tests:</b><br>\n"; |
| print "$newly_failing_tests<br><br>\n"; |
| print "</div><br><br>\n"; |
| |
| |
| /***************************************************** |
| * |
| * Printing failures in test suite |
| * |
| ******************************************************/ |
| $failing_tests=htmlifyTestResults(getFailures($night_id)); |
| if(strcmp($failing_tests,"")===0){ |
| $newly_failing_tests="None"; |
| } |
| $disp="none"; |
| $sign="(-)"; |
| print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('testSuiteFailures');\", id=\"testSuite_\">$sign Test Suite Failures</a></font>\n"; |
| print "<div id=\"testSuiteFailures\" style=\"display: $disp;\" class=\"hideable\">\n"; |
| print"<h3><u>Test suite failures:</u></h3>\n"; |
| print"<b>Failing tests:</b><br>\n"; |
| print "$failing_tests<br><br>\n"; |
| print "</div><br><br>\n"; |
| |
| /***************************************************** |
| * |
| * Dejagnu result go here |
| * |
| ******************************************************/ |
| $delta_exppass = $today_row['teststats_exppass']-$yesterday_row['teststats_exppass']; |
| $delta_expfail = $today_row['teststats_expfail']-$yesterday_row['teststats_expfail']; |
| $delta_unexpfail = $today_row['teststats_unexpfail']-$yesterday_row['teststats_unexpfail']; |
| $unexpected_failures = htmlifyTestResults(getUnexpectedFailures($night_id)); |
| |
| if($delta_exppass==0 && $delta_expfail==0 && |
| $delta_unexpfail==0 && strcmp($unexpected_failures,"")===0){ |
| $disp="none"; |
| $sign="(-)"; |
| } |
| else{ |
| $disp=""; |
| $sign="(+)"; |
| } |
| |
| |
| if(isset($today_row['teststats_exppass'])){ |
| $exp_pass=$today_row['teststats_exppass']; |
| } |
| else{ |
| $exp_pass=0; |
| } |
| if(isset($today_row['teststats_unexpfail'])){ |
| $unexp_fail=$today_row['teststats_unexpfail']; |
| } |
| else{ |
| $unexp_fail=0; |
| } |
| if(isset($today_row['teststats_expfail'])){ |
| $exp_fail=$today_row['teststats_expfail']; |
| } |
| else{ |
| $exp_fail=0; |
| |
| } |
| |
| print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('dejagnuTests');\", id=\"dejagnuTests_\">$sign Dejagnu Tests</a></font>\n"; |
| print "<div id=\"dejagnuTests\" style=\"display: $disp;\" class=\"hideable\">\n"; |
| |
| print"<h3><u>Dejagnu tests:</u></h3><br>\n"; |
| |
| print "<table>\n"; |
| print "\t<tr>\n"; |
| print "\t\t<td></td><td># of tests</td><td>Change from yesterday</td>\n"; |
| print "\t</tr>\n"; |
| $delta = $today_row['teststats_exppass']-$yesterday_row['teststats_exppass']; |
| print "\t\t<td>Expected Passes:</td><td align=center>$exp_pass</td><td align=center>$delta</td>\n"; |
| print "\t</tr>\n"; |
| print "\t<tr>\n"; |
| $delta = $today_row['teststats_unexpfail']-$yesterday_row['teststats_unexpfail']; |
| print "\t\t<td>Unexpected Failures:</td><td align=center>$unexp_fail</td><td align=center>$delta</td>\n"; |
| print "\t</tr>\n"; |
| print "\t<tr>\n"; |
| $delta = $today_row['teststats_expfail']-$yesterday_row['teststats_expfail']; |
| print "\t\t<td>Expected Failures:</td><td align=center>$exp_fail</td><td align=center>$delta</td>\n"; |
| print "\t</tr>\n"; |
| print "</table><br><br>\n"; |
| |
| print"<a name=\"unexpfail_tests\"><b>Unexpected test failures:</b></a><br>\n"; |
| print "$unexpected_failures<br><br>\n"; |
| |
| print "</div><br><br>\n"; |
| |
| |
| /***************************************************** |
| * |
| * Printing warning information |
| * |
| ******************************************************/ |
| if((strpos($today_row['warnings_added'], "none")===FALSE && |
| strpos($today_row['warnings_removed'], "none")===FALSE) && |
| (strcmp($today_row['warnings_added'], "")!=0 && |
| strcmp($today_row['warnings_removed'], "")!=0)){ |
| $disp=" "; |
| $sign="(+)"; |
| } |
| else{ |
| $disp="none"; |
| $sign="(-)"; |
| } |
| print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('warningsChanges');\", id=\"warningsChanges_\">$sign Warnings Information</a></font>\n"; |
| print "<div id=\"warningsChanges\" style=\"display: $disp;\" class=\"hideable\">\n"; |
| print"<h3><u>Changes to warnings during the build:</u></h3>\n"; |
| print"<b>New Warnings:</b><br>\n"; |
| print "{$today_row['warnings_added']}<br><br>\n"; |
| print"<b>Removed Warnings:</b><br>\n"; |
| print "{$today_row['warnings_removed']}<br>\n"; |
| print"<a name=\"warnings\"><h3><u>Warnings during the build:</u></h3></a><tt>{$today_row['warnings']}</tt><br>\n"; |
| print "</div><br><br>\n"; |
| |
| |
| /***************************************************** |
| * |
| * Printing execution |
| * |
| ******************************************************/ |
| |
| print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('executionTimes');\", id=\"executionTimes_\">(-) Execution Times</a></font>\n"; |
| print "<div id=\"executionTimes\" style=\"display: none;\" class=\"hideable\">\n"; |
| print"<h3><u>Execution times in seconds:</u></h3><br>\n"; |
| print "<table border=1 cellpadding=0 cellspacing=0>\n"; |
| |
| print "\t<tr>\n"; |
| print "\t\t<td></td>\n"; |
| print "\t\t<td>CVS cpu</td>\n"; |
| print "\t\t<td>CVS wall</td>\n"; |
| print "\t\t<td>Configure cpu</td>\n"; |
| print "\t\t<td>Configure wall</td>\n"; |
| print "\t\t<td>Build cpu</td>\n"; |
| print "\t\t<td>Build wall</td>\n"; |
| print "\t\t<td>Dejagnu cpu</td>\n"; |
| print "\t\t<td>Dejagnu wall</td>\n"; |
| print "\t</tr>\n"; |
| |
| print "\t<tr>\n"; |
| print "\t\t<td>$cur_date</td>\n"; |
| print "\t\t<td>{$today_row['getcvstime_cpu']}</td>\n"; |
| print "\t\t<td>{$today_row['getcvstime_wall']}</td>\n"; |
| print "\t\t<td>{$today_row['configuretime_cpu']}</td>\n"; |
| print "\t\t<td>{$today_row['configuretime_wall']}</td>\n"; |
| print "\t\t<td>{$today_row['buildtime_cpu']}</td>\n"; |
| print "\t\t<td>{$today_row['buildtime_wall']}</td>\n"; |
| print "\t\t<td>{$today_row['dejagnutime_cpu']}</td>\n"; |
| print "\t\t<td>{$today_row['dejagnutime_wall']}</td>\n"; |
| print "\t</tr>\n"; |
| |
| if( isset($yesterday_row) ){ |
| print "\t<tr>\n"; |
| print "\t\t<td>Previous nightly test ({$yesterday_row['added']})</td>\n"; |
| print "\t\t<td>{$yesterday_row['getcvstime_cpu']}</td>\n"; |
| print "\t\t<td>{$yesterday_row['getcvstime_wall']}</td>\n"; |
| print "\t\t<td>{$yesterday_row['configuretime_cpu']}</td>\n"; |
| print "\t\t<td>{$yesterday_row['configuretime_wall']}</td>\n"; |
| print "\t\t<td>{$yesterday_row['buildtime_cpu']}</td>\n"; |
| print "\t\t<td>{$yesterday_row['buildtime_wall']}</td>\n"; |
| print "\t\t<td>{$yesterday_row['dejagnutime_cpu']}</td>\n"; |
| print "\t\t<td>{$yesterday_row['dejagnutime_wall']}</td>\n"; |
| print "\t</tr>\n"; |
| |
| |
| print "\t<tr>\n"; |
| print "\t\t<td>% change</td>\n"; |
| |
| if($yesterday_row['getcvstime_cpu']==0){ |
| print "\t\t<td>-</td>\n"; |
| } |
| else{ |
| $delta = round((($today_row['getcvstime_cpu'] - $yesterday_row['getcvstime_cpu'])/$yesterday_row['getcvstime_cpu']) * 100,2); |
| $color=DetermineColor($delta, "white"); |
| print "\t\t<td bgcolor=$color>$delta</td>\n"; |
| } |
| |
| $color="white"; |
| if($yesterday_row['getcvstime_wall']==0){ |
| print "\t\t<td>-</td>\n"; |
| } |
| else{ |
| $delta = round((($today_row['getcvstime_wall'] - $yesterday_row['getcvstime_wall'])/$yesterday_row['getcvstime_wall']) * 100,2); |
| print "\t\t<td bgcolor=$color>$delta</td>\n"; |
| } |
| |
| $color="white"; |
| if($yesterday_row['configuretime_cpu']==0){ |
| print "\t\t<td>-</td>\n"; |
| } |
| else{ |
| $delta = round((($today_row['configuretime_cpu'] - $yesterday_row['configuretime_cpu'])/$yesterday_row['configuretime_cpu']) * 100,2); |
| $color=DetermineColor($delta, "white"); |
| print "\t\t<td bgcolor=$color>$delta</td>\n"; |
| } |
| |
| $color="white"; |
| |
| if($yesterday_row['configuretime_wall']==0){ |
| print "\t\t<td>-</td>\n"; |
| } |
| else{ |
| $delta = round((($today_row['configuretime_wall'] - $yesterday_row['configuretime_wall'])/$yesterday_row['configuretime_wall']) * 100,2); |
| print "\t\t<td bgcolor=$color>$delta</td>\n"; |
| } |
| |
| $color="white"; |
| if($yesterday_row['buildtime_cpu']==0){ |
| print "\t\t<td>-</td>\n"; |
| } |
| else{ |
| $delta = round((($today_row['buildtime_cpu'] - $yesterday_row['buildtime_cpu'])/$yesterday_row['buildtime_cpu']) * 100,2); |
| $color=DetermineColor($delta, "white"); |
| print "\t\t<td bgcolor=$color>$delta</td>\n"; |
| } |
| |
| $color="white"; |
| if($yesterday_row['buildtime_wall']==0){ |
| print "\t\t<td>-</td>\n"; |
| } |
| else{ |
| $delta = round((($today_row['buildtime_wall'] - $yesterday_row['buildtime_wall'])/$yesterday_row['buildtime_wall']) * 100,2); |
| print "\t\t<td bgcolor=$color>$delta</td>\n"; |
| } |
| |
| $color="white"; |
| if($yesterday_row['dejagnutime_cpu']==0){ |
| print "\t\t<td>-</td>\n"; |
| } |
| else{ |
| $delta = round((($today_row['dejagnutime_cpu'] - $yesterday_row['dejagnutime_cpu'])/$yesterday_row['dejagnutime_cpu']) * 100,2); |
| $color=DetermineColor($delta, "white"); |
| print "\t\t<td bgcolor=$color>$delta</td>\n"; |
| } |
| |
| $color="white"; |
| if($yesterday_row['dejagnutime_wall']==0){ |
| print "\t\t<td>-</td>\n"; |
| } |
| else{ |
| $delta = round((($today_row['dejagnutime_wall'] - $yesterday_row['dejagnutime_wall'])/$yesterday_row['dejagnutime_wall']) * 100,2); |
| print "\t\t<td bgcolor=$color>$delta</td>\n"; |
| } |
| |
| print "\t</tr>\n"; |
| } |
| |
| print "</table><br>\n"; |
| |
| print "</div><br><br>\n"; |
| |
| /***************************************************** |
| * |
| * Printing CVS information |
| * |
| ******************************************************/ |
| print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('CVSInformation');\", id=\"CVSInformation_\">(-) CVS Information</a></font>\n"; |
| print "<div id=\"CVSInformation\" style=\"display: none;\" class=\"hideable\">\n"; |
| |
| print"<h3><u>CVS information:</u></h3><br>\n"; |
| |
| $row = getNightInfo($night_id); |
| $com_users = $row['cvs_usersadd']; |
| $co_users = $row['cvs_usersco']; |
| $com_users = str_replace("\n","<br>",$com_users); |
| $co_users = str_replace("\n","<br>",$co_users); |
| print "<table border=1 cellspacing=0 cellpadding=0>\n"; |
| print "\t<tr>\n"; |
| print "\t\t<td>Users who commited</td><td>Users who checked out</td>\n"; |
| print "\t</tr>\n"; |
| print "\t<tr>\n"; |
| print "\t\t<td valign=top>$com_users</td><td valign=top>$co_users</td>\n"; |
| print "\t</tr>\n"; |
| print "</table><br><br>\n"; |
| |
| print"<b>Added files:</b><br>\n"; |
| $added_files = $row['cvs_added']; |
| if(strcmp($added_files,"")!=0){ |
| $added_files = str_replace("\n","<br>",$added_files); |
| print "<table>\n"; |
| print "\t<tr>\n"; |
| print "\t\t<td>$added_files</td>\n"; |
| print "\t</tr>\n"; |
| print "</table><br><br>\n"; |
| } |
| else{ |
| print "No removed files<br><br>\n"; |
| } |
| |
| print"<b>Removed files:</b><br>\n"; |
| $removed_files = $row['cvs_removed']; |
| if(strcmp($removed_files,"")!=0){ |
| $removed_files = str_replace("\n","<br>",$removed_files); |
| print "<table>\n"; |
| print "\t<tr>\n"; |
| print "\t\t<td>$removed_files</td>\n"; |
| print "\t</tr>\n"; |
| print "</table><br><br>\n"; |
| } |
| else{ |
| print "No removed files<br><br>\n"; |
| } |
| |
| print"<b>Modified files:</b><br>\n"; |
| $modified_files = $row['cvs_modified']; |
| if(strcmp($modified_files,"")!=0){ |
| $modified_files = str_replace("\n","<br>",$modified_files); |
| print "<table>\n"; |
| print "\t<tr>\n"; |
| print "\t\t<td>$modified_files</td>\n"; |
| print "\t</tr>\n"; |
| print "</table><br>\n"; |
| } |
| else{ |
| print "No removed files<br>\n"; |
| } |
| print "</div><br><br>\n"; |
| |
| /***************************************************** |
| * |
| * ending sidebar table here |
| * |
| ******************************************************/ |
| print "</td></tr></table>\n"; |
| |
| /***************************************************** |
| * |
| * Printing file size information |
| * |
| ******************************************************/ |
| $all_data=buildFileSizeTable($machine_id, $night_id); |
| |
| $num_sig_changes=0; |
| foreach (array_keys($all_data) as $d){ |
| if( ($all_data["$d"][1]>$medium_change && $all_data["$d"][2]>$byte_threshold) || |
| ($all_data["$d"][1]<($medium_change*-1) && $all_data["$d"][2]<($byte_threshold*-1)) ) { |
| $num_sig_changes++; |
| } |
| } |
| if($num_sig_changes==0){ |
| $disp="none"; |
| $sign="(-)"; |
| } |
| else{ |
| $disp=""; |
| $sign="(+)"; |
| } |
| print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('file_sizes_layer');\", id=\"file_sizes_layer_\">$sign $num_sig_changes Significant Changes in File Size</a></font>\n"; |
| print "<div id=\"file_sizes_layer\" style=\"display: $disp;\" class=\"hideable\">\n"; |
| |
| print "<form method=GET action=\"individualfilesizegraph.php\">\n"; |
| print "<input type=hidden name=machine value=\"$machine_id\">\n"; |
| print "<input type=hidden name=night value=\"$night_id\">\n"; |
| print "<input type=hidden name=end value=\"$cur_date\">\n"; |
| |
| |
| $unformatted_num=number_format($all_data['Total Sum'][0],0,".",","); |
| print "<b>Total size</b>: $unformatted_num bytes<br>\n"; |
| print "<b>Percent difference from previous test</b>: {$all_data['Total Sum'][1]}<br>\n"; |
| print "<b>Percent difference from five tests ago</b>: {$all_data['Total Sum'][2]}<br><br>\n"; |
| |
| print "<b>Significant Changes in File Size<br></b>"; |
| print "<table border='0' cellspacing='0' cellpadding='2'><tr><td bgcolor=#000000>\n"; #creating the black border |
| print "<table class=\"sortable\" id=\"file_sizes\" border='1' cellspacing='0' cellpadding='0'>\n"; |
| print "\t<tr bgcolor=#FFCC99>\n"; |
| print "\t\t<td>File</td>\n"; |
| print "\t\t<td>File Size in Bytes</td>\n"; |
| print "\t\t<td>% difference from previous test</td>\n"; |
| print "\t\t<td>Byte difference from previous test</td>\n"; |
| print "\t\t<td>% difference from five tests ago</td>\n"; |
| print "\t\t<td>Byte difference from five tests ago</td>\n"; |
| print "\t</tr>\n"; |
| |
| print "\t<tr>\n"; |
| print "<td></td>\n"; |
| print "<td></td>\n"; |
| print "<td></td>\n"; |
| print "<td></td>\n"; |
| print "<td></td>\n"; |
| print "\t</tr>\n"; |
| |
| $row_color=0; |
| foreach (array_keys($all_data) as $d){ |
| if( ($all_data["$d"][1]>$medium_change && $all_data["$d"][2]>$byte_threshold) || |
| ($all_data["$d"][1]<($medium_change*-1) && $all_data["$d"][2]<($byte_threshold*-1)) ) { |
| |
| if($row_color % 2 == 0){ |
| $def_color="white"; |
| } else{ |
| $def_color="#DDDDDD"; |
| } |
| $row_color++; |
| |
| print "\t<tr bgcolor=\"$def_color\">\n"; |
| if(strcmp($d, "Total Sum")!=0){ |
| print "\t\t<td><input type=checkbox name=files[] multiple=\"multiple\" value=\"$d\" >\n"; |
| } |
| else{ |
| print "\t\t<td>\n"; |
| } |
| print "\t\t$d</td>\n"; |
| print "\t\t<td>{$all_data["$d"][0]}</td>\n"; |
| |
| $color="bgcolor=\"".DetermineColor($all_data["$d"][1], "$def_color")."\""; |
| print "\t\t<td $color>{$all_data["$d"][1]}</td>\n"; |
| print "\t\t<td $color>{$all_data["$d"][2]}</td>\n"; |
| |
| $color="bgcolor=\"".DetermineColor($all_data["$d"][3], "$def_color")."\""; |
| print "\t\t<td $color>{$all_data["$d"][3]}</td>\n"; |
| print "\t\t<td $color>{$all_data["$d"][4]}</td>\n"; |
| |
| print "\t</tr>\n"; |
| } |
| } |
| |
| print "</table>\n"; |
| print "</td></tr></table><br>\n"; #ending black border around table |
| print "<input type=submit name=action value=\"Compare values\"> | "; |
| print "<input type=button value=\"Check all\" onClick=\"this.value=check(this.form.elements)\"> | \n"; |
| print "<input type=reset>\n"; |
| print "</form>\n"; |
| print "</div><br><br>\n"; |
| |
| /***************************************************** |
| * |
| * Finding big changes in results table |
| * |
| ******************************************************/ |
| |
| $today_results = GetDayResults($today_row['id'], $category_array); |
| if(isset($yesterday_row['id'])){ |
| $yesterday_results = GetDayResults($yesterday_row['id'], $category_array); |
| $percent_difference = CalculateChangeBetweenDays($yesterday_results, $today_results, .2); |
| } |
| if(isset($oldday_row['id'])){ |
| $oldday_results = GetDayResults($oldday_row['id'], $category_array); |
| $twoday_difference = CalculateChangeBetweenDays($oldday_results, $today_results, .01); |
| } |
| |
| |
| if(isset($percent_difference) && isset($twoday_difference)){ |
| $big_changes = getThreeDaySignifigantChanges($today_results, $yesterday_results, $oldday_results, $percent_difference, $twoday_difference, $category_print_array); |
| sortSignifigantChangeArray($big_changes, 3); |
| } |
| else if(isset($percent_difference) && !isset($twoday_difference)){ |
| $big_changes = getTwoDaySignifigantChanges($today_results, $yesterday_results, $percent_difference, $category_print_array); |
| sortSignifigantChangeArray($big_changes, 3); |
| } |
| |
| /********************** Regressions table **********************/ |
| |
| if(!isset($big_changes)){ |
| print "Cannot compare today's results to previous results. Reason: there are no previous results!<br>\n"; |
| } |
| else{ |
| |
| $row_color=1; |
| $count=0; |
| for($y=0; $y<sizeof($category_print_array_ordered); $y++){ |
| print "<form method=GET action=\"resultsgraph.php\">\n"; |
| print "<input type=hidden name=machine value=\"$machine_id\">\n"; |
| print "<input type=hidden name=night value=\"$night_id\">\n"; |
| print "<input type=hidden name=end value=\"$cur_date\">\n"; |
| print "<input type=hidden name=measure[] value=\"{$category_print_array_ordered[$y]}\">\n"; |
| |
| |
| /* testing to see if we should show this table */ |
| $measure_number=0; |
| for($pdj = 0; $pdj < sizeof($category_print_array); $pdj++){ |
| if(strcmp($category_print_array[$pdj],$category_print_array_ordered[$y])==0){ |
| $measure_number=$pdj; |
| } |
| } |
| $num_changes = CountSignifigantDifferences($percent_difference, $measure_number, $medium_change); |
| if($num_changes==0){ |
| $disp="none"; |
| $sign="(-)"; |
| } |
| else{ |
| $disp=""; |
| $sign="(+)"; |
| } |
| |
| print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('{$category_print_array_ordered[$y]}');\", id=\"{$category_print_array_ordered[$y]}_\">$sign $num_changes Tests Significantly Changed for {$category_print_array_ordered[$y]}</a></font>\n"; |
| print "<div id=\"{$category_print_array_ordered[$y]}\" style=\"display: $disp;\" class=\"hideable\">\n"; |
| print "<b>Significant Changes for {$category_print_array_ordered[$y]}</b>"; |
| print "<span style=\"position:relative;\">\n"; |
| print "<span id=\"$y\" class=\"popup2\">\n"; |
| print "<pre>$category_print_array_ordered_description[$y]</pre>\n"; |
| print "</span><a href=\"javascript:void(0);\" onClick=\"TogglePop('$y');\">?</a></span>\n"; |
| print "<br>\n"; |
| print "<table border='0' cellspacing='0' cellpadding='2'><tr><td bgcolor=#000000>\n"; #creating the black borde |
| print "<table class=\"sortable\" id=\"multisource_tests\" border='1' cellspacing='0' cellpadding='0'>\n"; |
| print "\t<tr bgcolor=#FFCC99>\n"; |
| print "\t\t<th>Program</th>\n"; |
| print "\t\t<th>% Change from yesterday</th>\n"; |
| print "\t\t<th>% Change from two days ago</th>\n"; |
| print "\t\t<th>Previous day's test value</th>\n"; |
| print "\t\t<th>Current day's test value</th>\n"; |
| print "\t</tr>\n"; |
| print "\t<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>\n"; |
| |
| foreach (array_keys($big_changes) as $x){ |
| if(strcmp($big_changes[$x][1],$category_print_array_ordered[$y])==0){ |
| if($row_color % 2 == 0){ |
| $def_color="white"; |
| } else{ |
| $def_color="#DDDDDD"; |
| } |
| print "\t<tr bgcolor='$def_color'>\n"; |
| print "\t\t<td><input type=checkbox name=program[] multiple=\"multiple\" value=\"{$big_changes[$x][0]}\">{$big_changes[$x][2]}/{$big_changes[$x][0]}</td>\n"; |
| $color=DetermineColor($big_changes[$x][3], "#FFFFFF"); |
| print "\t\t<td bgcolor=\"$color\">{$big_changes[$x][3]}</td>\n"; |
| $color=DetermineColor($big_changes[$x][4], "#FFFFFF"); |
| print "\t\t<td bgcolor=\"$color\">{$big_changes[$x][4]}</td>\n"; |
| print "\t\t<td>{$big_changes[$x][5]}</td>\n"; |
| print "\t\t<td>{$big_changes[$x][6]}</td>\n"; |
| |
| |
| /*for($y=0; $y<sizeof($big_changes[$x]); $y++){ |
| print "\t\t<td>{$big_changes[$x][$y]}</td>\n"; |
| }*/ |
| print "\t</tr>\n"; |
| $row_color++; |
| if($row_color > 4){ |
| $row_color=1; |
| } |
| $count++; |
| }//end if strcmp |
| } |
| print "</table>\n"; |
| print "</td></tr></table><br>\n"; #ending black border around table |
| print "<input type=submit name=action value=\"Examine Longterm Results\"> | "; |
| print "<input type=button value=\"Check all\" onClick=\"this.value=check(this.form.elements)\"> | \n"; |
| print "<input type=reset>\n"; |
| print "</form>\n"; |
| print "</div><br><br>\n"; |
| } |
| |
| |
| }//end foreach |
| |
| |
| mysql_close($mysql_link); |
| ?> |
| |
| |
| |
| </body> |
| </html> |
| |
| |