\n";
+
+
+echo "
+ Server status
+
+ Program | Host | Status |
+";
+
+
+
+$web_running = !file_exists("../../stop_web");
+show_status("einstein", "Web server", $web_running);
+
+
+
+
+show_daemon_status("einstein", "Pulsar work generator (LHO)", "make_pulsar_WU_daemon_h");
+show_daemon_status("einstein", "Pulsar work generator (LLO)", "make_pulsar_WU_daemon_l");
+show_daemon_status("einstein", "BOINC database feeder", "feeder");
+show_daemon_status("einstein", "BOINC transitioner", "transitioner");
+$sched_running = !file_exists("../../stop_sched");
+show_status("einstein", "BOINC scheduler", $sched_running);
+show_daemon_status("einstein", "Einstein validator", "einstein_validator");
+show_daemon_status("einstein", "Einstein assimilator", "einstein_assimilator");
+show_daemon_status("einstein", "BOINC file deleter", "file_deleter");
+show_daemon_status("einstein", "BOINC database purger", "db_purge");
+
+
+echo "\n
+ | |
+ \n";
+
+
+echo "
+
+ Users and Computers
+";
+
+
+if ($dbrc) {
+ echo "The database server is not accessable";
+} else {
+ $now=time(0);
+ $s_day=24*3600;
+ $d_ago=$now-$s_day;
+ $s_week=7*$s_day;
+ $w_ago=$now-$s_week;
+
+ echo "
+
+ USERS | Approximate # |
+ ";
+ $n = count_estimate("select count(*) as total from user");
+ echo "
+ in database | ".number_format($n)." |
+ ";
+
+ $n = count_estimate("select count(*) as total from user where total_credit>0");
+ echo "
+ with credit | ".number_format($n)." |
+ ";
+
+ $n = count_estimate("select count(*) as total from user where create_time > $d_ago");
+ echo "
+ registered in past 24 hours | ".number_format($n)." |
+ ";
+
+ echo "
+ HOST COMPUTERS | Approximate # |
+ ";
+
+ $n = count_estimate("select count(*) as total from host");
+ echo "
+ in database | ".number_format($n)." |
+ ";
+ $n = count_estimate("select count(*) as total from host where create_time > $d_ago");
+ echo "
+ registered in past 24 hours | ".number_format($n)." |
+ ";
+
+ $n = count_estimate("select count(*) as total from host where total_credit>0");
+ echo "
+ with credit | ".number_format($n)." |
+ ";
+ $n = count_estimate("select count(id) as total from host where rpc_time>$w_ago");
+ echo "
+ active in past 7 days | ".number_format($n)." |
+ ";
+ $n = count_estimate("select sum(p_fpops) as total from host")/1000000000;
+ // echo "
+ // floating point speed | ".number_format($n)." GFLOPS |
+ //";
+ printf("floating point speed1) | %.1f TFLOPS | ", $n/1000);
+
+ $n = count_estimate("select sum(p_fpops) as total from host where rpc_time>$w_ago")/1000000000;
+ // echo "
+ // GFLOPS in past 7 days | ".number_format($n)." GFLOPS |
+ //";
+ printf("floating point speed in past 7 days2) | %.1f TFLOPS | ", $n/1000);
+
+ $n = numerical_query("SELECT SUM(cpu_time * p_fpops) / $s_week AS total FROM result,host where outcome = '1' AND (received_time > $w_ago) AND (result.hostid = host.id )")/1000000000;
+ printf("floating point speed from results3) | %.1f TFLOPS | ", $n/1000);
+
+ echo "\n
+ | |
+ Work and Results
+ \n";
+
+
+
+ echo "
+
+ ";
+
+ echo "
+ WORKUNITS | Approximate # |
+ ";
+
+ $n = count_estimate("select count(*) as total from workunit");
+ echo "
+ in database | ".number_format($n)." |
+ ";
+
+ $n = count_estimate("select count(*) as total from workunit where canonical_resultid!=0");
+ echo "
+ with canonical result | ".number_format($n)." |
+ ";
+
+ echo "
+ RESULTS | Approximate # |
+ ";
+
+ $n = count_estimate("select count(*) as total from result");
+ echo "
+ in database | ".number_format($n)." |
+ ";
+
+ $n = count_estimate("select count(id) as total from result where server_state=2");
+ echo "
+ unsent | ".number_format($n)." |
+ ";
+ $n = count_estimate("select count(id) as total from result where server_state=4");
+ echo "
+ in progress | ".number_format($n)." |
+ ";
+
+ $n = count_estimate("select count(id) as total from result where server_state=5 and file_delete_state=2");
+ echo "
+ deleted | ".number_format($n)." |
+ ";
+
+ $n = count_estimate("select count(id) as total from result where server_state=5 and outcome=1 and validate_state=1");
+ echo "
+ valid | ".number_format($n)." |
+ ";
+
+ $n = numerical_query("SELECT COUNT(id) AS total FROM result WHERE server_state=5 AND outcome=1 AND validate_state=1 AND ( received_time > $w_ago )");
+ echo "
+ valid last week | ".number_format($n)." |
+ ";
+
+ $n = count_estimate("select count(id) as total from result where server_state=5 and outcome=1 and validate_state=2");
+ echo "
+ invalid | ".number_format($n)." |
+ ";
+
+ $n = time(0)-find_oldest();
+ $days = (int)($n/86400);
+ $hours=(int)($n/3600);
+ $hours=$hours % 24;
+ $minutes=(int)($n/60);
+ $minutes=$minutes % 60;
+ echo "
+ Oldest Unsent Result | ".$days." d ".$hours." h ".$minutes." m |
+ ";
+
+
+
+ echo "
+
+ ";
+}
+
+// Server restrictions
+
+// Display cgi-bin restriction status
+
+if ( file_exists("../../cgi-bin/.htaccess") ) {
+ echo "
+ The ".PROJECT." scheduler is currently restricted
+ to uwm.edu and a few other domains.
+
+
+ ";
+}
+
+
+echo " |
+