From efeb69084adf850fc6868e42481c671a3b6df0b0 Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Sun, 24 Jan 2016 19:17:56 +0300 Subject: [PATCH] Downsample panel data after all transformations. --- plugins/datasource-zabbix/datasource.js | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/plugins/datasource-zabbix/datasource.js b/plugins/datasource-zabbix/datasource.js index 648dd3b..c610ee5 100644 --- a/plugins/datasource-zabbix/datasource.js +++ b/plugins/datasource-zabbix/datasource.js @@ -145,10 +145,11 @@ function (angular, _, dateMath, utils) { var groupBuInterval = utils.parseInterval(options.interval); // Series downsampling - if (timeseries.datapoints.length > options.maxDataPoints) { - timeseries.datapoints = DataProcessingService.groupBy(timeseries.datapoints, - groupBuInterval, - DataProcessingService.AVERAGE); + var dp = timeseries.datapoints; + if (false) { + dp = DataProcessingService.groupBy(dp, groupBuInterval, + DataProcessingService.AVERAGE); + timeseries.datapoints = dp; } return timeseries; @@ -204,10 +205,22 @@ function (angular, _, dateMath, utils) { } }, this); + // Data for panel (all targets) return $q.all(_.flatten(promises)) .then(_.flatten) .then(function (timeseries_data) { - return { data: timeseries_data }; + var data = _.map(timeseries_data, function(timeseries) { + + // Series downsampling + var DPS = DataProcessingService; + var groupBuInterval = utils.parseInterval(options.interval); + if (timeseries.datapoints.length > options.maxDataPoints) { + timeseries.datapoints = DPS.groupBy(timeseries.datapoints, groupBuInterval, + DPS.AVERAGE); + } + return timeseries; + }); + return { data: data }; }); };