From 71bceee778e1aef7cc6f5eddd18d36c4f5aaf05b Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Sun, 13 Mar 2005 06:45:30 +0000 Subject: [PATCH] Created functions for most graphs (memory isn't done yet) to remove some code duplication Temp graph, mem graph, and uptime are now dynamic (inline with cpu usage) swap still needs to be done (maybe config change also) --- usr/local/www/index.php | 140 ++++++++++++++++++++++++---------------- 1 file changed, 85 insertions(+), 55 deletions(-) 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"; /*