summaryrefslogtreecommitdiffstats
path: root/usr/local/www/includes/functions.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'usr/local/www/includes/functions.inc.php')
-rw-r--r--usr/local/www/includes/functions.inc.php98
1 files changed, 98 insertions, 0 deletions
diff --git a/usr/local/www/includes/functions.inc.php b/usr/local/www/includes/functions.inc.php
new file mode 100644
index 0000000..88465ab
--- /dev/null
+++ b/usr/local/www/includes/functions.inc.php
@@ -0,0 +1,98 @@
+<?
+function cpu_usage() {
+ return get_cpuusage(get_cputicks(), get_cputicks());
+}
+
+
+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 "<!-- user: {$diff['user']} nice {$diff['nice']} sys {$diff['sys']} intr {$diff['intr']} idle {$diff['idle']} -->";
+ $totalDiff = $diff['user'] + $diff['nice'] + $diff['sys'] + $diff['intr'] + $diff['idle'];
+ $totalused = $diff['user'] + $diff['nice'] + $diff['sys'] + $diff['intr'] - 1;
+ $cpuUsage = round(100 * ($totalused / $totalDiff), 0);
+
+ #$totalDiff = $diff['user'] + $diff['nice'] + $diff['sys'] + $diff['intr'] + $diff['idle'];
+ #$cpuUsage = round(100 * (1 - $diff['idle'] / $totalDiff), 0);
+
+ return $cpuUsage;
+}
+
+function get_pfstate() {
+ global $config;
+ if (isset($config['system']['maximumstates']) and $config['system']['maximumstates'] > 0)
+ $maxstates="/{$config['system']['maximumstates']}";
+ else
+ $maxstates="/10000";
+ $curentries = `/sbin/pfctl -si |grep current`;
+ if (preg_match("/([0-9]+)/", $curentries, $matches)) {
+ $curentries = $matches[1];
+ }
+ return $curentries . $maxstates;
+}
+
+
+function disk_usage()
+{
+ exec("df -h | grep -w '/' | awk '{ print $5 }' | cut -d '%' -f 1", $dfout);
+ $diskusage = trim($dfout[0]);
+
+ return $diskusage;
+}
+
+function swap_usage()
+{
+ $swapUsage = `/usr/sbin/swapinfo | cut -c45-55 | grep "%"`;
+ $swapUsage = ereg_replace('%', "", $swapUsage);
+ $swapUsage = ereg_replace(' ', "", $swapUsage);
+ $swapUsage = rtrim($swapUsage);
+
+ return $swapUsage;
+}
+
+function mem_usage()
+{
+ exec("/sbin/sysctl -n vm.stats.vm.v_active_count vm.stats.vm.v_inactive_count " .
+ "vm.stats.vm.v_wire_count vm.stats.vm.v_cache_count vm.stats.vm.v_free_count", $memory);
+
+ $totalMem = $memory[0] + $memory[1] + $memory[2] + $memory[3] + $memory[4];
+ $freeMem = $memory[4];
+ $usedMem = $totalMem - $freeMem;
+ $memUsage = round(($usedMem * 100) / $totalMem, 0);
+
+ return $memUsage;
+} \ No newline at end of file
OpenPOWER on IntegriCloud