itemid-mode: minor refactor

This commit is contained in:
Alexander Zobnin
2017-07-26 11:16:07 +03:00
parent 3b1bc4d4a5
commit b23f6677dd
4 changed files with 83 additions and 43 deletions

View File

@@ -342,10 +342,22 @@ System.register(['lodash', 'app/core/utils/datemath', './utils', './migrations',
return { data: data };
});
}
}, {
key: 'queryNumericData',
value: function queryNumericData(target, timeRange, useTrends, options) {
var _this2 = this;
var getItemOptions = {
itemtype: 'num'
};
return this.zabbix.getItemsFromTarget(target, getItemOptions).then(function (items) {
return _this2.queryNumericDataForItems(items, target, timeRange, useTrends, options);
});
}
}, {
key: 'queryNumericDataForItems',
value: function queryNumericDataForItems(items, target, timeRange, useTrends, options) {
var _this2 = this;
var _this3 = this;
var _timeRange = _slicedToArray(timeRange, 2),
timeFrom = _timeRange[0],
@@ -357,7 +369,7 @@ System.register(['lodash', 'app/core/utils/datemath', './utils', './migrations',
if (useTrends) {
if (this.enableDirectDBConnection) {
getHistoryPromise = this.zabbix.getTrendsDB(items, timeFrom, timeTo, options).then(function (history) {
return _this2.zabbix.dbConnector.handleGrafanaTSResponse(history, items);
return _this3.zabbix.dbConnector.handleGrafanaTSResponse(history, items);
});
} else {
var valueType = this.getTrendValueType(target);
@@ -377,7 +389,7 @@ System.register(['lodash', 'app/core/utils/datemath', './utils', './migrations',
// Use history
if (this.enableDirectDBConnection) {
getHistoryPromise = this.zabbix.getHistoryDB(items, timeFrom, timeTo, options).then(function (history) {
return _this2.zabbix.dbConnector.handleGrafanaTSResponse(history, items);
return _this3.zabbix.dbConnector.handleGrafanaTSResponse(history, items);
});
} else {
getHistoryPromise = this.zabbix.getHistory(items, timeFrom, timeTo).then(function (history) {
@@ -387,7 +399,7 @@ System.register(['lodash', 'app/core/utils/datemath', './utils', './migrations',
}
return getHistoryPromise.then(function (timeseries) {
return _this2.applyDataProcessingFunctions(timeseries, target);
return _this3.applyDataProcessingFunctions(timeseries, target);
}).then(function (timeseries) {
return downsampleSeries(timeseries, options);
}).catch(function (error) {
@@ -395,18 +407,6 @@ System.register(['lodash', 'app/core/utils/datemath', './utils', './migrations',
return [];
});
}
}, {
key: 'queryNumericData',
value: function queryNumericData(target, timeRange, useTrends, options) {
var _this3 = this;
var getItemOptions = {
itemtype: 'num'
};
return this.zabbix.getItemsFromTarget(target, getItemOptions).then(function (items) {
return _this3.queryNumericDataForItems(items, target, timeRange, useTrends, options);
});
}
}, {
key: 'getTrendValueType',
value: function getTrendValueType(target) {

File diff suppressed because one or more lines are too long

View File

@@ -195,10 +195,32 @@ var ZabbixAPIDatasource = function () {
return { data: data };
});
}
/**
* Query target data for Metrics mode
*/
}, {
key: 'queryNumericData',
value: function queryNumericData(target, timeRange, useTrends, options) {
var _this2 = this;
var getItemOptions = {
itemtype: 'num'
};
return this.zabbix.getItemsFromTarget(target, getItemOptions).then(function (items) {
return _this2.queryNumericDataForItems(items, target, timeRange, useTrends, options);
});
}
/**
* Query history for numeric items
*/
}, {
key: 'queryNumericDataForItems',
value: function queryNumericDataForItems(items, target, timeRange, useTrends, options) {
var _this2 = this;
var _this3 = this;
var _timeRange = _slicedToArray(timeRange, 2),
timeFrom = _timeRange[0],
@@ -210,7 +232,7 @@ var ZabbixAPIDatasource = function () {
if (useTrends) {
if (this.enableDirectDBConnection) {
getHistoryPromise = this.zabbix.getTrendsDB(items, timeFrom, timeTo, options).then(function (history) {
return _this2.zabbix.dbConnector.handleGrafanaTSResponse(history, items);
return _this3.zabbix.dbConnector.handleGrafanaTSResponse(history, items);
});
} else {
var valueType = this.getTrendValueType(target);
@@ -230,7 +252,7 @@ var ZabbixAPIDatasource = function () {
// Use history
if (this.enableDirectDBConnection) {
getHistoryPromise = this.zabbix.getHistoryDB(items, timeFrom, timeTo, options).then(function (history) {
return _this2.zabbix.dbConnector.handleGrafanaTSResponse(history, items);
return _this3.zabbix.dbConnector.handleGrafanaTSResponse(history, items);
});
} else {
getHistoryPromise = this.zabbix.getHistory(items, timeFrom, timeTo).then(function (history) {
@@ -240,7 +262,7 @@ var ZabbixAPIDatasource = function () {
}
return getHistoryPromise.then(function (timeseries) {
return _this2.applyDataProcessingFunctions(timeseries, target);
return _this3.applyDataProcessingFunctions(timeseries, target);
}).then(function (timeseries) {
return downsampleSeries(timeseries, options);
}).catch(function (error) {
@@ -248,18 +270,6 @@ var ZabbixAPIDatasource = function () {
return [];
});
}
}, {
key: 'queryNumericData',
value: function queryNumericData(target, timeRange, useTrends, options) {
var _this3 = this;
var getItemOptions = {
itemtype: 'num'
};
return this.zabbix.getItemsFromTarget(target, getItemOptions).then(function (items) {
return _this3.queryNumericDataForItems(items, target, timeRange, useTrends, options);
});
}
}, {
key: 'getTrendValueType',
value: function getTrendValueType(target) {
@@ -328,6 +338,11 @@ var ZabbixAPIDatasource = function () {
});
}
}
/**
* Query target data for Text mode
*/
}, {
key: 'queryTextData',
value: function queryTextData(target, timeRange) {
@@ -350,6 +365,11 @@ var ZabbixAPIDatasource = function () {
}
});
}
/**
* Query target data for Item ID mode
*/
}, {
key: 'queryItemIdData',
value: function queryItemIdData(target, timeRange, useTrends, options) {
@@ -369,6 +389,11 @@ var ZabbixAPIDatasource = function () {
return _this5.queryNumericDataForItems(items, target, timeRange, useTrends, options);
});
}
/**
* Query target data for IT Services mode
*/
}, {
key: 'queryITServiceData',
value: function queryITServiceData(target, timeRange, options) {

View File

@@ -143,6 +143,22 @@ class ZabbixAPIDatasource {
});
}
/**
* Query target data for Metrics mode
*/
queryNumericData(target, timeRange, useTrends, options) {
let getItemOptions = {
itemtype: 'num'
};
return this.zabbix.getItemsFromTarget(target, getItemOptions)
.then(items => {
return this.queryNumericDataForItems(items, target, timeRange, useTrends, options);
});
}
/**
* Query history for numeric items
*/
queryNumericDataForItems(items, target, timeRange, useTrends, options) {
let [timeFrom, timeTo] = timeRange;
let getHistoryPromise;
@@ -184,16 +200,6 @@ class ZabbixAPIDatasource {
});
}
queryNumericData(target, timeRange, useTrends, options) {
let getItemOptions = {
itemtype: 'num'
};
return this.zabbix.getItemsFromTarget(target, getItemOptions)
.then(items => {
return this.queryNumericDataForItems(items, target, timeRange, useTrends, options);
});
}
getTrendValueType(target) {
// Find trendValue() function and get specified trend value
var trendFunctions = _.map(metricFunctions.getCategories()['Trends'], 'name');
@@ -259,6 +265,9 @@ class ZabbixAPIDatasource {
}
}
/**
* Query target data for Text mode
*/
queryTextData(target, timeRange) {
let [timeFrom, timeTo] = timeRange;
let options = {
@@ -277,6 +286,9 @@ class ZabbixAPIDatasource {
});
}
/**
* Query target data for Item ID mode
*/
queryItemIdData(target, timeRange, useTrends, options) {
let itemids = target.itemids;
itemids = this.templateSrv.replace(itemids, options.scopedVars, zabbixItemIdsTemplateFormat);
@@ -292,6 +304,9 @@ class ZabbixAPIDatasource {
});
}
/**
* Query target data for IT Services mode
*/
queryITServiceData(target, timeRange, options) {
// Don't show undefined and hidden targets
if (target.hide || (!target.itservice && !target.itServiceFilter) || !target.slaProperty) {