From e24519893a2a740a42430aa57b8d9cf2d89d7f1e Mon Sep 17 00:00:00 2001 From: Phil Davis Date: Wed, 1 Jul 2015 14:15:10 +0545 Subject: Only process Traffic Graph object if it is open Reduces useless CPU use on the pfSense box when the dashboard is displayed with the Traffic Graphs widget. --- usr/local/www/widgets/javascript/traffic_graph.js | 41 +++++++++++++--------- .../www/widgets/widgets/traffic_graphs.widget.php | 22 ++++++++---- 2 files changed, 39 insertions(+), 24 deletions(-) diff --git a/usr/local/www/widgets/javascript/traffic_graph.js b/usr/local/www/widgets/javascript/traffic_graph.js index dcfd4f3..383a549 100644 --- a/usr/local/www/widgets/javascript/traffic_graph.js +++ b/usr/local/www/widgets/javascript/traffic_graph.js @@ -1,34 +1,41 @@ -function trafficshowDiv(incDiv,swapButtons){ - //appear element +function trafficshowDiv(incDiv,ifDescription,refreshIntervalSec,swapButtons) { + // put the graph object HTML in the element and make it appear selectedDiv = incDiv + "graphdiv"; - jQuery('#' + selectedDiv).effect('blind',{mode:'show'},1000); - d = document; - if (swapButtons){ + jQuery('#' + selectedDiv).html( + '' + + '' + + '' + + '' + + ''); + jQuery('#' + selectedDiv).effect('blind',{mode:'show'},1000); + d = document; + if (swapButtons) { selectIntLink = selectedDiv + "-min"; textlink = d.getElementById(selectIntLink); - textlink.style.display = "inline"; - + textlink.style.display = "inline"; + selectIntLink = selectedDiv + "-open"; textlink = d.getElementById(selectIntLink); textlink.style.display = "none"; } - document.iform["shown[" + incDiv + "]"].value = "show"; + document.traffic_graphs_widget_iform["shown[" + incDiv + "]"].value = "show"; } - -function trafficminimizeDiv(incDiv,swapButtons){ - //fade element + +function trafficminimizeDiv(incDiv,swapButtons) { + // remove the graph object HTML from the element (so it does not keep using CPU) and fade selectedDiv = incDiv + "graphdiv"; + jQuery('#' + selectedDiv).html(''); jQuery('#' + selectedDiv).effect('blind',{mode:'hide'},1000); - d = document; - if (swapButtons){ + d = document; + if (swapButtons) { selectIntLink = selectedDiv + "-open"; textlink = d.getElementById(selectIntLink); - textlink.style.display = "inline"; - + textlink.style.display = "inline"; + selectIntLink = selectedDiv + "-min"; textlink = d.getElementById(selectIntLink); textlink.style.display = "none"; - } - document.iform["shown[" + incDiv + "]"].value = "hide"; + } + document.traffic_graphs_widget_iform["shown[" + incDiv + "]"].value = "hide"; } diff --git a/usr/local/www/widgets/widgets/traffic_graphs.widget.php b/usr/local/www/widgets/widgets/traffic_graphs.widget.php index 8404f61..c5f6286 100644 --- a/usr/local/www/widgets/widgets/traffic_graphs.widget.php +++ b/usr/local/www/widgets/widgets/traffic_graphs.widget.php @@ -54,8 +54,9 @@ if (!is_array($a_config["shown"]["item"])) { } $ifdescrs = get_configured_interface_with_descr(); -if (isset($config['ipsec']['enable'])) +if (isset($config['ipsec']['enable'])) { $ifdescrs['enc0'] = "IPsec"; +} if ($_POST) { if (isset($_POST["refreshinterval"])) { @@ -101,12 +102,12 @@ if (isset($a_config["scale_type"])) { @@ -167,17 +167,25 @@ foreach ($ifdescrs as $ifname => $ifdescr) {
Minimize <?=$ifname;?> traffic graph
-
Show <?=$ifname;?> traffic graph
+ +