summaryrefslogtreecommitdiffstats
path: root/usr/local
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2013-07-16 15:38:24 -0400
committerjim-p <jimp@pfsense.org>2013-07-16 15:39:33 -0400
commitbdc3d5ca64d2c80c18fa1eb6f071226ca78ed8c1 (patch)
tree991f9b3109df004257f4277a17e2227546733bac /usr/local
parent48a0149690c1d35317b124d508998631fcf2bc55 (diff)
downloadpfsense-bdc3d5ca64d2c80c18fa1eb6f071226ca78ed8c1.zip
pfsense-bdc3d5ca64d2c80c18fa1eb6f071226ca78ed8c1.tar.gz
Add a meter for states, too
Diffstat (limited to 'usr/local')
-rw-r--r--usr/local/www/includes/functions.inc.php8
-rw-r--r--usr/local/www/javascript/index/ajax.js10
-rw-r--r--usr/local/www/widgets/widgets/system_information.widget.php6
3 files changed, 21 insertions, 3 deletions
diff --git a/usr/local/www/includes/functions.inc.php b/usr/local/www/includes/functions.inc.php
index 3e00d13..359887c 100644
--- a/usr/local/www/includes/functions.inc.php
+++ b/usr/local/www/includes/functions.inc.php
@@ -22,6 +22,7 @@ function get_stats() {
$stats['cpufreq'] = get_cpufreq();
$stats['load_average'] = get_load_average();
$stats['mbuf'] = get_mbuf();
+ $stats['statepercent'] = get_pfstate(true);
$stats = join("|", $stats);
return $stats;
}
@@ -138,7 +139,7 @@ function cpu_usage() {
return $cpuUsage;
}
-function get_pfstate() {
+function get_pfstate($percent=false) {
global $config;
$matches = "";
if (isset($config['system']['maximumstates']) and $config['system']['maximumstates'] > 0)
@@ -149,7 +150,10 @@ function get_pfstate() {
if (preg_match("/([0-9]+)/", $curentries, $matches)) {
$curentries = $matches[1];
}
- return $curentries . "/" . $maxstates;
+ if ($percent)
+ return ($curentries / $maxstates) * 100;
+ else
+ return $curentries . "/" . $maxstates;
}
function has_temp() {
diff --git a/usr/local/www/javascript/index/ajax.js b/usr/local/www/javascript/index/ajax.js
index d2a6536..3bfd67b 100644
--- a/usr/local/www/javascript/index/ajax.js
+++ b/usr/local/www/javascript/index/ajax.js
@@ -44,6 +44,7 @@ function stats(x) {
updateCpuFreq(values[9]);
updateLoadAverage(values[10]);
updateMbuf(values[11]);
+ updateStateMeter(values[12]);
}
function updateMemory(x) {
@@ -101,6 +102,15 @@ function updateState(x) {
jQuery("#pfstate").html(x);
}
+function updateStateMeter(x) {
+ if(jQuery('#pfstateusagemeter'))
+ jQuery("#pfstateusagemeter").html(x + '%');
+ if(jQuery('#pfstatewidtha'))
+ jQuery("#pfstatewidtha").css('width',x + 'px');
+ if(jQuery('#pfstatewidthb'))
+ jQuery("#pfstatewidthb").css('width',(100 - x) + 'px');
+}
+
function updateGatewayStats(x){
if (widgetActive("gateways")){
gateways_split = x.split(",");
diff --git a/usr/local/www/widgets/widgets/system_information.widget.php b/usr/local/www/widgets/widgets/system_information.widget.php
index 208c641..3305859 100644
--- a/usr/local/www/widgets/widgets/system_information.widget.php
+++ b/usr/local/www/widgets/widgets/system_information.widget.php
@@ -186,7 +186,11 @@ $curcfg = $config['system']['firmware'];
<tr>
<td width="25%" class="vncellt">State table size</td>
<td width="75%" class="listr">
- <span id="pfstate"><?= htmlspecialchars(get_pfstate()); ?></span>
+ <?php $pfstatetext = get_pfstate();
+ $pfstateusage = get_pfstate(true);
+ ?>
+ <img src="./themes/<?= $g['theme']; ?>/images/misc/bar_left.gif" height="15" width="4" border="0" align="middle" alt="left bar" /><img src="./themes/<?= $g['theme']; ?>/images/misc/bar_blue.gif" height="15" name="pfstatewidtha" id="pfstatewidtha" width="<?= round($pfstateusage); ?>" border="0" align="middle" alt="red bar" /><img src="./themes/<?= $g['theme']; ?>/images/misc/bar_gray.gif" height="15" name="pfstatewidthb" id="pfstatewidthb" width="<?= (100 - $pfstateusage); ?>" border="0" align="middle" alt="gray bar" /><img src="./themes/<?= $g['theme']; ?>/images/misc/bar_right.gif" height="15" width="5" border="0" align="middle" alt="right bar" />
+ <br/><span id="pfstateusagemeter"><?= $pfstateusage.'%'; ?></span> (<span id="pfstate"><?= htmlspecialchars($pfstatetext); ?></span>)
<br />
<a href="diag_dump_states.php">Show states</a>
</td>
OpenPOWER on IntegriCloud