diff --git a/plugins/datasource-zabbix/dataProcessingService.js b/plugins/datasource-zabbix/dataProcessingService.js index 8012692..d3972d9 100644 --- a/plugins/datasource-zabbix/dataProcessingService.js +++ b/plugins/datasource-zabbix/dataProcessingService.js @@ -106,6 +106,11 @@ function (angular, _, moment, utils) { return _.max(values); }; + this.setAlias = function(alias, timeseries) { + timeseries.target = alias; + return timeseries; + }; + this.aggregationFunctions = { avg: this.AVERAGE, min: this.MIN, @@ -127,6 +132,7 @@ function (angular, _, moment, utils) { average: _.partial(this.aggregateWrapper, this.AVERAGE), min: _.partial(this.aggregateWrapper, this.MIN), max: _.partial(this.aggregateWrapper, this.MAX), + setAlias: this.setAlias, }; }); diff --git a/plugins/datasource-zabbix/datasource.js b/plugins/datasource-zabbix/datasource.js index 71d7963..fdb0efc 100644 --- a/plugins/datasource-zabbix/datasource.js +++ b/plugins/datasource-zabbix/datasource.js @@ -171,10 +171,16 @@ function (angular, _, dateMath, utils, metricFunctions) { return _.contains( _.map(metricFunctions.getCategories()['Aggregate'], 'name'), func.def.name); }); - timeseries_data = { + timeseries_data = [{ target: lastAgg.text, datapoints: dp - }; + }]; + } + + // Apply alias functions + var aliasFunctions = bindFunctionDefs(target.functions, 'Alias'); + for (var j = 0; j < aliasFunctions.length; j++) { + _.each(timeseries_data, aliasFunctions[j]); } return timeseries_data; diff --git a/plugins/datasource-zabbix/metricFunctions.js b/plugins/datasource-zabbix/metricFunctions.js index 74ac76e..6138024 100644 --- a/plugins/datasource-zabbix/metricFunctions.js +++ b/plugins/datasource-zabbix/metricFunctions.js @@ -90,7 +90,7 @@ function (_, $) { }); addFuncDef({ - name: 'alias', + name: 'setAlias', category: 'Alias', params: [ { name: 'alias', type: 'string'}