Project

General

Profile

Download (2.73 KB) Statistics
| Branch: | Tag: | Revision:
1
<?
2
function cpu_usage() {
3
	return get_cpuusage(get_cputicks(), get_cputicks());
4
}
5

    
6

    
7
function get_uptime() {
8
	exec("/sbin/sysctl -n kern.boottime", $boottime);
9
	preg_match("/sec = (\d+)/", $boottime[0], $matches);
10
	$boottime = $matches[1];
11
	$uptime = time() - $boottime;
12

    
13
	if ($uptime > 60)
14
		$uptime += 30;
15
	$updays = (int)($uptime / 86400);
16
	$uptime %= 86400;
17
	$uphours = (int)($uptime / 3600);
18
	$uptime %= 3600;
19
	$upmins = (int)($uptime / 60);
20

    
21
	$uptimestr = "";
22
	if ($updays > 1)
23
		$uptimestr .= "$updays days, ";
24
	else if ($updays > 0)
25
		$uptimestr .= "1 day, ";
26
	$uptimestr .= sprintf("%02d:%02d", $uphours, $upmins);
27
	return $uptimestr;
28
}
29

    
30
function get_cputicks() {
31
	sleep(5);
32
	$cputicks = explode(" ", `/sbin/sysctl -n kern.cp_time`);
33
	return $cputicks;
34
}
35

    
36
function get_cpuusage($cpuTicks, $cpuTicks2) {
37
	$diff = array();
38
	$diff['user'] = ($cpuTicks2[0] - $cpuTicks[0]);
39
	$diff['nice'] = ($cpuTicks2[1] - $cpuTicks[1]);
40
	$diff['sys'] = ($cpuTicks2[2] - $cpuTicks[2]);
41
	$diff['intr'] = ($cpuTicks2[3] - $cpuTicks[3]);
42
	$diff['idle'] = ($cpuTicks2[4] - $cpuTicks[4]);
43
	
44
	//echo "<!-- user: {$diff['user']}  nice {$diff['nice']}  sys {$diff['sys']}  intr {$diff['intr']}  idle {$diff['idle']} -->";
45
	$totalDiff = $diff['user'] + $diff['nice'] + $diff['sys'] + $diff['intr'] + $diff['idle'];
46
	$totalused = $diff['user'] + $diff['nice'] + $diff['sys'] + $diff['intr'];
47
		if (isset($totalused)&&$totalused <= 0) {
48
			$totalused = 0.001;
49
		}
50
	$cpuUsage = floor(100 * ($totalused / $totalDiff));
51
	
52
	return $cpuUsage;
53
}
54

    
55
function get_pfstate() {
56
	global $config;
57
        if (isset($config['system']['maximumstates']) and $config['system']['maximumstates'] > 0)
58
                $maxstates="/{$config['system']['maximumstates']}";
59
        else
60
                $maxstates="/10000";
61
        $curentries = `/sbin/pfctl -si |grep current`;
62
        if (preg_match("/([0-9]+)/", $curentries, $matches)) {
63
             $curentries = $matches[1];
64
        }
65
        return $curentries . $maxstates;
66
}
67

    
68

    
69
function disk_usage()
70
{
71
	exec("df -h | grep -w '/' | awk '{ print $5 }' | cut -d '%' -f 1", $dfout);
72
	$diskusage = trim($dfout[0]);
73

    
74
	return $diskusage;
75
}
76

    
77
function swap_usage()
78
{
79
	$swapUsage = `/usr/sbin/swapinfo | cut -c45-55 | grep "%"`;
80
	$swapUsage = ereg_replace('%', "", $swapUsage);
81
	$swapUsage = ereg_replace(' ', "", $swapUsage);
82
	$swapUsage = rtrim($swapUsage);
83

    
84
	return $swapUsage;
85
}
86

    
87
function mem_usage()
88
{
89
	exec("/sbin/sysctl -n vm.stats.vm.v_active_count vm.stats.vm.v_inactive_count " .
90
		"vm.stats.vm.v_wire_count vm.stats.vm.v_cache_count vm.stats.vm.v_free_count", $memory);
91
	
92
	$totalMem = $memory[0] + $memory[1] + $memory[2] + $memory[3] + $memory[4];
93
	$freeMem = $memory[4];
94
	$usedMem = $totalMem - $freeMem;
95
	$memUsage = round(($usedMem * 100) / $totalMem, 0);
96

    
97
	return $memUsage;
98
}
(1-1/3)