diff --git a/usr/local/www/index.php b/usr/local/www/index.php index ba8aafa175..800c273ce9 100755 --- a/usr/local/www/index.php +++ b/usr/local/www/index.php @@ -52,6 +52,52 @@ if ($fd) { fclose($fd); } +function get_uptime() { + exec("/sbin/sysctl -n kern.boottime", $boottime); + preg_match("/sec = (\d+)/", $boottime[0], $matches); + $boottime = $matches[1]; + $uptime = time() - $boottime; + + if ($uptime > 60) + $uptime += 30; + $updays = (int)($uptime / 86400); + $uptime %= 86400; + $uphours = (int)($uptime / 3600); + $uptime %= 3600; + $upmins = (int)($uptime / 60); + + $uptimestr = ""; + if ($updays > 1) + $uptimestr .= "$updays days, "; + else if ($updays > 0) + $uptimestr .= "1 day, "; + $uptimestr .= sprintf("%02d:%02d", $uphours, $upmins); + return $uptimestr; +} + +function get_cputicks() { + $cputicks = explode(" ", `/sbin/sysctl -n kern.cp_time`); + return $cputicks; +} + +function get_cpuusage($cpuTicks, $cpuTicks2) { + +$diff = array(); +$diff['user'] = ($cpuTicks2[0] - $cpuTicks[0])+1; +$diff['nice'] = ($cpuTicks2[1] - $cpuTicks[1])+1; +$diff['sys'] = ($cpuTicks2[2] - $cpuTicks[2])+1; +$diff['intr'] = ($cpuTicks2[3] - $cpuTicks[3])+1; +$diff['idle'] = ($cpuTicks2[4] - $cpuTicks[4])+1; + +//echo ""; + +$totalDiff = $diff['user'] + $diff['nice'] + $diff['sys'] + $diff['intr'] + $diff['idle']; +$cpuUsage = round(100 * (1 - $diff['idle'] / $totalDiff), 0); + +return $cpuUsage; +} + + ?> @@ -107,26 +153,7 @@ if ($fd) { Uptime 60) - $uptime += 30; - $updays = (int)($uptime / 86400); - $uptime %= 86400; - $uphours = (int)($uptime / 3600); - $uptime %= 3600; - $upmins = (int)($uptime / 60); - - $uptimestr = ""; - if ($updays > 1) - $uptimestr .= "$updays days, "; - else if ($updays > 0) - $uptimestr .= "1 day, "; - $uptimestr .= sprintf("%02d:%02d", $uphours, $upmins); - echo htmlspecialchars($uptimestr); + echo ""; ?> @@ -140,20 +167,7 @@ if ($fd) { CPU usage "; - -$totalDiff = $diff['user'] + $diff['nice'] + $diff['sys'] + $diff['intr'] + $diff['idle']; -$cpuUsage = round(100 * (1 - $diff['idle'] / $totalDiff), 0); +$cpuUsage = get_cpuusage(get_cputicks(), get_cputicks()); echo ""; echo ""; @@ -178,8 +192,8 @@ $usedMem = $totalMem - $freeMem; $memUsage = round(($usedMem * 100) / $totalMem, 0); echo " "; -echo ""; -echo ""; +echo ""; +echo ""; echo " "; echo ""; //echo $memUsage . "%"; @@ -195,6 +209,7 @@ echo ""; echo ""; @@ -207,17 +222,17 @@ echo " "; -echo " Temperature: "; +echo " Temperature "; echo " "; // Initialize hw monitor exec("/usr/local/sbin/env4801 -i"); -$Temp = `/usr/local/sbin/env4801 | grep Temp |cut -c24-25`; +$Temp = rtrim(`/usr/local/sbin/env4801 | grep Temp |cut -c24-25`); echo ""; -echo ""; -echo ""; +echo ""; +echo ""; echo " "; echo ""; echo " "; @@ -236,24 +251,39 @@ $counter = 0; While(!Connection_Aborted()) { - sleep(1); - $cpuTicks = explode(" ", `/sbin/sysctl -n kern.cp_time`); - sleep(2); - $cpuTicks2 = explode(" ", `/sbin/sysctl -n kern.cp_time`); - - $diff = array(); - $diff['user'] = ($cpuTicks2[0] - $cpuTicks[0])+1; - $diff['nice'] = ($cpuTicks2[1] - $cpuTicks[1])+1; - $diff['sys'] = ($cpuTicks2[2] - $cpuTicks[2])+1; - $diff['intr'] = ($cpuTicks2[3] - $cpuTicks[3])+1; - $diff['idle'] = ($cpuTicks2[4] - $cpuTicks[4])+1; - $totalDiff = $diff['user'] + $diff['nice'] + $diff['sys'] + $diff['intr'] + $diff['idle']; - $cpuUsage = round(100 * (1 - $diff['idle'] / $totalDiff), 0); - echo "\n"; /*