From e210150c826ebd5470c3fc9b687f2dac7fe0bae2 Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Tue, 12 Apr 2016 14:29:12 +0300 Subject: [PATCH] Fixed building request for text metrics. --- src/datasource-zabbix/datasource.js | 2 +- src/datasource-zabbix/queryProcessor.service.js | 16 ++++++++-------- src/datasource-zabbix/zabbixCache.service.js | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/datasource-zabbix/datasource.js b/src/datasource-zabbix/datasource.js index 37beaa1..db362af 100644 --- a/src/datasource-zabbix/datasource.js +++ b/src/datasource-zabbix/datasource.js @@ -207,7 +207,7 @@ export class ZabbixAPIDatasource { // Query text data else if (target.mode === 2) { - return self.queryProcessor.build(groupFilter, hostFilter, appFilter, itemFilter) + return self.queryProcessor.build(groupFilter, hostFilter, appFilter, itemFilter, 'text') .then(function(items) { var deferred = self.q.defer(); if (items.length) { diff --git a/src/datasource-zabbix/queryProcessor.service.js b/src/datasource-zabbix/queryProcessor.service.js index c56fda9..35d2401 100644 --- a/src/datasource-zabbix/queryProcessor.service.js +++ b/src/datasource-zabbix/queryProcessor.service.js @@ -14,13 +14,13 @@ angular.module('grafana.services').factory('QueryProcessor', function($q) { /** * Build query in asynchronous manner */ - build(groupFilter, hostFilter, appFilter, itemFilter) { + build(groupFilter, hostFilter, appFilter, itemFilter, itemtype) { var self = this; if (this.cache._initialized) { - return this.$q.when(self.buildFromCache(groupFilter, hostFilter, appFilter, itemFilter)); + return this.$q.when(self.buildFromCache(groupFilter, hostFilter, appFilter, itemFilter, itemtype)); } else { return this.cache.refresh().then(function() { - return self.buildFromCache(groupFilter, hostFilter, appFilter, itemFilter); + return self.buildFromCache(groupFilter, hostFilter, appFilter, itemFilter, itemtype); }); } } @@ -64,8 +64,8 @@ angular.module('grafana.services').factory('QueryProcessor', function($q) { /** * Build query - convert target filters to array of Zabbix items */ - buildFromCache(groupFilter, hostFilter, appFilter, itemFilter, showDisabledItems) { - return this.getItems(groupFilter, hostFilter, appFilter, showDisabledItems) + buildFromCache(groupFilter, hostFilter, appFilter, itemFilter, itemtype, showDisabledItems) { + return this.getItems(groupFilter, hostFilter, appFilter, itemtype, showDisabledItems) .then(items => { return getByFilter(items, itemFilter); }); @@ -108,7 +108,7 @@ angular.module('grafana.services').factory('QueryProcessor', function($q) { }); } - getItems(groupFilter, hostFilter, appFilter, showDisabledItems) { + getItems(groupFilter, hostFilter, appFilter, itemtype, showDisabledItems) { var self = this; return this.getHosts(groupFilter) .then(hosts => { @@ -133,7 +133,7 @@ angular.module('grafana.services').factory('QueryProcessor', function($q) { .then(apps => { if (apps.appFilterEmpty) { return self.cache - .getItems(apps.hostids, undefined) + .getItems(apps.hostids, undefined, itemtype) .then(items => { if (showDisabledItems) { items = _.filter(items, {'status': '0'}); @@ -143,7 +143,7 @@ angular.module('grafana.services').factory('QueryProcessor', function($q) { } else { var appids = _.map(apps, 'applicationid'); return self.cache - .getItems(undefined, appids) + .getItems(undefined, appids, itemtype) .then(items => { if (showDisabledItems) { items = _.filter(items, {'status': '0'}); diff --git a/src/datasource-zabbix/zabbixCache.service.js b/src/datasource-zabbix/zabbixCache.service.js index fe5e593..3092b08 100644 --- a/src/datasource-zabbix/zabbixCache.service.js +++ b/src/datasource-zabbix/zabbixCache.service.js @@ -102,9 +102,9 @@ angular.module('grafana.services').factory('ZabbixCachingProxy', function($q, $i }); } - getItems(hostids, appids) { + getItems(hostids, appids, itemtype) { var self = this; - return this.getItemsOnce(hostids, appids) + return this.getItemsOnce(hostids, appids, itemtype) .then(items => { self._items = _.union(self._items, items); return items;