From 62f38df28a5732b1c8856de98f9a09ddbcdfa006 Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Thu, 5 Aug 2021 17:59:58 +0300 Subject: [PATCH] Apply data processing for the IT Service query on the backend --- src/datasource-zabbix/datasource.ts | 138 +++++++---------------- src/datasource-zabbix/responseHandler.ts | 40 +++++++ 2 files changed, 82 insertions(+), 96 deletions(-) diff --git a/src/datasource-zabbix/datasource.ts b/src/datasource-zabbix/datasource.ts index 34fc3ba..dc0a172 100644 --- a/src/datasource-zabbix/datasource.ts +++ b/src/datasource-zabbix/datasource.ts @@ -313,22 +313,7 @@ export class ZabbixDatasource extends DataSourceApi { - timeseries.datapoints = utils.sequence(transformFunctions)(timeseries.datapoints); - return timeseries; - })); - - // Apply filter functions - if (filterFunctions.length) { - timeseries_data = utils.sequence(filterFunctions)(timeseries_data); - } - - // Apply aggregations - if (aggregationFunctions.length) { - let dp = _.map(timeseries_data, 'datapoints'); - dp = utils.sequence(aggregationFunctions)(dp); - - const aggFuncNames = _.map(metricFunctions.getCategories()['Aggregate'], 'name'); - const lastAgg = _.findLast(target.functions, func => { - return _.includes(aggFuncNames, func.def.name); - }); - - timeseries_data = [{ - target: lastAgg.text, - datapoints: dp - }]; - } - - // Apply alias functions - _.forEach(timeseries_data, utils.sequence(aliasFunctions).bind(this)); - - // Apply Time-related functions (timeShift(), etc) - // Find timeShift() function and get specified trend value - this.applyTimeShiftFunction(timeseries_data, target); - - return timeseries_data; - } - - applyTimeShiftFunction(timeseries_data, target) { - // Find timeShift() function and get specified interval - const timeShiftFunc = _.find(target.functions, (func) => { - return func.def.name === 'timeShift'; - }); - if (timeShiftFunc) { - const shift = timeShiftFunc.params[0]; - _.forEach(timeseries_data, (series) => { - series.datapoints = dataProcessor.unShiftTimeSeries(shift, series.datapoints); - }); - } - } - /** * Query target data for Text */ @@ -491,33 +443,32 @@ export class ZabbixDatasource extends DataSourceApi