From 3b88711baf887e7e434e36d8bacfc3d8ef10dbfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tommi=20Palom=C3=A4ki?= Date: Thu, 25 Oct 2018 11:40:57 +0300 Subject: [PATCH] consolidateBy(sum) must calculate sums inside the one-hour trend period, fixes #604 --- src/datasource-zabbix/zabbix/connectors/sql/sqlConnector.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/datasource-zabbix/zabbix/connectors/sql/sqlConnector.js b/src/datasource-zabbix/zabbix/connectors/sql/sqlConnector.js index f436fdc..f536c47 100644 --- a/src/datasource-zabbix/zabbix/connectors/sql/sqlConnector.js +++ b/src/datasource-zabbix/zabbix/connectors/sql/sqlConnector.js @@ -33,7 +33,8 @@ const consolidateByFunc = { const consolidateByTrendColumns = { 'avg': 'value_avg', 'min': 'value_min', - 'max': 'value_max' + 'max': 'value_max', + 'sum': 'num*value_avg' // sum of sums inside the one-hour trend period }; export class SQLConnector extends DBConnector { @@ -98,7 +99,7 @@ export class SQLConnector extends DBConnector { let promises = _.map(grouped_items, (items, value_type) => { let itemids = _.map(items, 'itemid').join(', '); let table = TREND_TO_TABLE_MAP[value_type]; - let valueColumn = _.includes(['avg', 'min', 'max'], consolidateBy) ? consolidateBy : 'avg'; + let valueColumn = _.includes(['avg', 'min', 'max', 'sum'], consolidateBy) ? consolidateBy : 'avg'; valueColumn = consolidateByTrendColumns[valueColumn]; let query = this.sqlDialect.trendsQuery(itemids, table, timeFrom, timeTill, intervalSec, aggFunction, valueColumn);