From e1db4d2f56ccde478cc0f7aa6088471d6af737ac Mon Sep 17 00:00:00 2001 From: Brian Lloyd Date: Fri, 17 Jul 2020 15:41:20 -0600 Subject: [PATCH 1/2] Implement SUM function for pie graphs --- ui/include/classes/api/managers/CHistoryManager.php | 4 ++-- ui/include/classes/graphdraw/CPieGraphDraw.php | 10 ++++++++++ ui/include/defines.inc.php | 1 + ui/include/views/js/configuration.graph.edit.js.php | 2 ++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ui/include/classes/api/managers/CHistoryManager.php b/ui/include/classes/api/managers/CHistoryManager.php index 8cbfb141d0..dd7e17fc61 100644 --- a/ui/include/classes/api/managers/CHistoryManager.php +++ b/ui/include/classes/api/managers/CHistoryManager.php @@ -933,11 +933,11 @@ class CHistoryManager { foreach ($items as $item) { if ($item['source'] === 'history') { - $sql_select = 'COUNT(*) AS count,AVG(value) AS avg,MIN(value) AS min,MAX(value) AS max'; + $sql_select = 'COUNT(*) AS count,AVG(value) AS avg,MIN(value) AS min,MAX(value) AS max,SUM(value) AS sum'; $sql_from = ($item['value_type'] == ITEM_VALUE_TYPE_UINT64) ? 'history_uint' : 'history'; } else { - $sql_select = 'SUM(num) AS count,AVG(value_avg) AS avg,MIN(value_min) AS min,MAX(value_max) AS max'; + $sql_select = 'SUM(num) AS count,AVG(value_avg) AS avg,MIN(value_min) AS min,MAX(value_max) AS max,SUM(value_avg) as sum'; $sql_from = ($item['value_type'] == ITEM_VALUE_TYPE_UINT64) ? 'trends_uint' : 'trends'; } diff --git a/ui/include/classes/graphdraw/CPieGraphDraw.php b/ui/include/classes/graphdraw/CPieGraphDraw.php index eee112e462..2a81d840e0 100644 --- a/ui/include/classes/graphdraw/CPieGraphDraw.php +++ b/ui/include/classes/graphdraw/CPieGraphDraw.php @@ -226,6 +226,9 @@ class CPieGraphDraw extends CGraphDraw { case CALC_FNC_LST: $fncName = 'last'; break; + case CALC_FNC_SUM: + $fncName = 'sum'; + break; case CALC_FNC_AVG: default: $fncName = 'avg'; @@ -296,6 +299,10 @@ class CPieGraphDraw extends CGraphDraw { $fncName = 'last'; $fncRealName = _('last'); break; + case CALC_FNC_SUM: + $fncName = 'sum'; + $fncRealName = _('sum'); + break; case CALC_FNC_AVG: default: $fncName = 'avg'; @@ -730,6 +737,9 @@ class CPieGraphDraw extends CGraphDraw { case CALC_FNC_LST: $fncName = 'last'; break; + case CALC_FNC_SUM: + $fncName = 'sum'; + break; case CALC_FNC_AVG: default: $fncName = 'avg'; diff --git a/ui/include/defines.inc.php b/ui/include/defines.inc.php index 450a50f72f..643e505dce 100644 --- a/ui/include/defines.inc.php +++ b/ui/include/defines.inc.php @@ -849,6 +849,7 @@ define('PROFILE_TYPE_STR', 3); define('CALC_FNC_MIN', 1); define('CALC_FNC_AVG', 2); define('CALC_FNC_MAX', 4); +define('CALC_FNC_SUM', 5); define('CALC_FNC_ALL', 7); define('CALC_FNC_LST', 9); diff --git a/ui/include/views/js/configuration.graph.edit.js.php b/ui/include/views/js/configuration.graph.edit.js.php index e64873c722..0a7e26202f 100644 --- a/ui/include/views/js/configuration.graph.edit.js.php +++ b/ui/include/views/js/configuration.graph.edit.js.php @@ -205,6 +205,7 @@ + @@ -268,6 +269,7 @@ + -- 2.24.3 (Apple Git-128) From 5f68463f5a4adb1fa3f96c9ed375dc3ab4531a24 Mon Sep 17 00:00:00 2001 From: Brian Lloyd Date: Fri, 17 Jul 2020 16:06:24 -0600 Subject: [PATCH 2/2] Add missing line --- ui/include/classes/graphdraw/CPieGraphDraw.php | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/include/classes/graphdraw/CPieGraphDraw.php b/ui/include/classes/graphdraw/CPieGraphDraw.php index 2a81d840e0..d67e0d001d 100644 --- a/ui/include/classes/graphdraw/CPieGraphDraw.php +++ b/ui/include/classes/graphdraw/CPieGraphDraw.php @@ -208,6 +208,7 @@ class CPieGraphDraw extends CGraphDraw { $this->data[$item['itemid']]['min'] = $row['min']; $this->data[$item['itemid']]['max'] = $row['max']; $this->data[$item['itemid']]['avg'] = $row['avg']; + $this->data[$item['itemid']]['sum'] = $row['sum']; $this->data[$item['itemid']]['clock'] = $row['clock']; } unset($result); -- 2.24.3 (Apple Git-128)