1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
<?
if(Connection_Aborted()) {
exit;
}
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 cpu_usage() {
sleep(5);
$cpuTicks = explode(" ", `/sbin/sysctl -n kern.cp_time`);
sleep(1);
$cpuTicks2 = explode(" ", `/sbin/sysctl -n kern.cp_time`);
sleep(1);
$diff = array();
$diff['user'] = ($cpuTicks2[0] - $cpuTicks[0]);
$diff['nice'] = ($cpuTicks2[1] - $cpuTicks[1]);
$diff['sys'] = ($cpuTicks2[2] - $cpuTicks[2]);
$diff['intr'] = ($cpuTicks2[3] - $cpuTicks[3]);
$diff['idle'] = ($cpuTicks2[4] - $cpuTicks[4]);
//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'];
if (isset($totalused)&&$totalused <= 0) {
$totalused = 0.001;
}
$cpuUsage = floor(100 * ($totalused / $totalDiff));
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 has_temp() {
if(`/sbin/dmesg -a | /usr/bin/grep net4801` <> "") {
/* Initialize hw monitor */
exec("/usr/local/sbin/env4801 -i");
return true;
}
/* should only reach here if there is no hardware monitor */
return false;
}
function get_hwtype() {
if(`/sbin/dmesg -a | /usr/bin/grep net4801` <> "") {
return "4801";
}
return;
}
function get_temp() {
switch(get_hwtype()) {
case '4801':
$ret = rtrim(`/usr/local/sbin/env4801 | /usr/bin/grep Temp |/usr/bin/cut -c24-25`);
break;
default:
return;
}
return $ret;
}
function disk_usage()
{
exec("/bin/df -h | /usr/bin/grep -w '/' | /usr/bin/awk '{ print $5 }' | /usr/bin/cut -d '%' -f 1", $dfout);
$diskusage = trim($dfout[0]);
return $diskusage;
}
function swap_usage()
{
$swapUsage = `/usr/sbin/swapinfo | /usr/bin/cut -c45-55 | /usr/bin/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;
}
|