20
dist/test/datasource-zabbix/dataProcessor.js
vendored
20
dist/test/datasource-zabbix/dataProcessor.js
vendored
@@ -143,6 +143,18 @@ function limit(order, n, orderByFunc, timeseries) {
|
||||
}
|
||||
}
|
||||
|
||||
function SUM(values) {
|
||||
var sum = 0;
|
||||
_lodash2.default.each(values, function (value) {
|
||||
sum += value;
|
||||
});
|
||||
return sum;
|
||||
}
|
||||
|
||||
function COUNT(values) {
|
||||
return values.length;
|
||||
}
|
||||
|
||||
function AVERAGE(values) {
|
||||
var sum = 0;
|
||||
_lodash2.default.each(values, function (value) {
|
||||
@@ -296,6 +308,8 @@ var metricFunctions = {
|
||||
min: _lodash2.default.partial(aggregateWrapper, MIN),
|
||||
max: _lodash2.default.partial(aggregateWrapper, MAX),
|
||||
median: _lodash2.default.partial(aggregateWrapper, MEDIAN),
|
||||
sum: _lodash2.default.partial(aggregateWrapper, SUM),
|
||||
count: _lodash2.default.partial(aggregateWrapper, COUNT),
|
||||
sumSeries: sumSeries,
|
||||
top: _lodash2.default.partial(limit, 'top'),
|
||||
bottom: _lodash2.default.partial(limit, 'bottom'),
|
||||
@@ -308,7 +322,9 @@ var aggregationFunctions = {
|
||||
avg: AVERAGE,
|
||||
min: MIN,
|
||||
max: MAX,
|
||||
median: MEDIAN
|
||||
median: MEDIAN,
|
||||
sum: SUM,
|
||||
count: COUNT
|
||||
};
|
||||
|
||||
exports.default = {
|
||||
@@ -318,6 +334,8 @@ exports.default = {
|
||||
MIN: MIN,
|
||||
MAX: MAX,
|
||||
MEDIAN: MEDIAN,
|
||||
SUM: SUM,
|
||||
COUNT: COUNT,
|
||||
unShiftTimeSeries: unShiftTimeSeries,
|
||||
|
||||
get aggregationFunctions() {
|
||||
|
||||
2
dist/test/datasource-zabbix/datasource.js
vendored
2
dist/test/datasource-zabbix/datasource.js
vendored
@@ -304,7 +304,7 @@ var ZabbixAPIDatasource = function () {
|
||||
value = extractText(point.value, target.textFilter, target.useCaptureGroups);
|
||||
}
|
||||
|
||||
return [value, point.clock * 1000];
|
||||
return [value, point.clock * 1000 + Math.round(point.ns / 1000000)];
|
||||
});
|
||||
});
|
||||
} else {
|
||||
|
||||
24
dist/test/datasource-zabbix/metricFunctions.js
vendored
24
dist/test/datasource-zabbix/metricFunctions.js
vendored
@@ -48,7 +48,7 @@ function addFuncDef(funcDef) {
|
||||
addFuncDef({
|
||||
name: 'groupBy',
|
||||
category: 'Transform',
|
||||
params: [{ name: 'interval', type: 'string' }, { name: 'function', type: 'string', options: ['avg', 'min', 'max', 'median'] }],
|
||||
params: [{ name: 'interval', type: 'string' }, { name: 'function', type: 'string', options: ['avg', 'min', 'max', 'sum', 'count', 'median'] }],
|
||||
defaultParams: ['1m', 'avg']
|
||||
});
|
||||
|
||||
@@ -103,10 +103,24 @@ addFuncDef({
|
||||
defaultParams: ['1m']
|
||||
});
|
||||
|
||||
addFuncDef({
|
||||
name: 'sum',
|
||||
category: 'Aggregate',
|
||||
params: [{ name: 'interval', type: 'string' }],
|
||||
defaultParams: ['1m']
|
||||
});
|
||||
|
||||
addFuncDef({
|
||||
name: 'count',
|
||||
category: 'Aggregate',
|
||||
params: [{ name: 'interval', type: 'string' }],
|
||||
defaultParams: ['1m']
|
||||
});
|
||||
|
||||
addFuncDef({
|
||||
name: 'aggregateBy',
|
||||
category: 'Aggregate',
|
||||
params: [{ name: 'interval', type: 'string' }, { name: 'function', type: 'string', options: ['avg', 'min', 'max', 'median'] }],
|
||||
params: [{ name: 'interval', type: 'string' }, { name: 'function', type: 'string', options: ['avg', 'min', 'max', 'sum', 'count', 'median'] }],
|
||||
defaultParams: ['1m', 'avg']
|
||||
});
|
||||
|
||||
@@ -115,14 +129,14 @@ addFuncDef({
|
||||
addFuncDef({
|
||||
name: 'top',
|
||||
category: 'Filter',
|
||||
params: [{ name: 'number', type: 'int' }, { name: 'value', type: 'string', options: ['avg', 'min', 'max', 'median'] }],
|
||||
params: [{ name: 'number', type: 'int' }, { name: 'value', type: 'string', options: ['avg', 'min', 'max', 'sum', 'count', 'median'] }],
|
||||
defaultParams: [5, 'avg']
|
||||
});
|
||||
|
||||
addFuncDef({
|
||||
name: 'bottom',
|
||||
category: 'Filter',
|
||||
params: [{ name: 'number', type: 'int' }, { name: 'value', type: 'string', options: ['avg', 'min', 'max', 'median'] }],
|
||||
params: [{ name: 'number', type: 'int' }, { name: 'value', type: 'string', options: ['avg', 'min', 'max', 'sum', 'count', 'median'] }],
|
||||
defaultParams: [5, 'avg']
|
||||
});
|
||||
|
||||
@@ -131,7 +145,7 @@ addFuncDef({
|
||||
addFuncDef({
|
||||
name: 'trendValue',
|
||||
category: 'Trends',
|
||||
params: [{ name: 'type', type: 'string', options: ['avg', 'min', 'max'] }],
|
||||
params: [{ name: 'type', type: 'string', options: ['avg', 'min', 'max', 'sum', 'count'] }],
|
||||
defaultParams: ['avg']
|
||||
});
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ var ZabbixQueryController = exports.ZabbixQueryController = function (_QueryCtrl
|
||||
|
||||
if (target.mode === 0 || target.mode === 2) {
|
||||
|
||||
this.downsampleFunctionList = [{ name: "avg", value: "avg" }, { name: "min", value: "min" }, { name: "max", value: "max" }];
|
||||
this.downsampleFunctionList = [{ name: "avg", value: "avg" }, { name: "min", value: "min" }, { name: "max", value: "max" }, { name: "sum", value: "sum" }, { name: "count", value: "count" }];
|
||||
|
||||
this.initFilters();
|
||||
} else if (target.mode === 1) {
|
||||
|
||||
@@ -80,7 +80,7 @@ function handleSLAResponse(itservice, slaProperty, slaObject) {
|
||||
|
||||
function convertHistoryPoint(point) {
|
||||
// Value must be a number for properly work
|
||||
return [Number(point.value), point.clock * 1000];
|
||||
return [Number(point.value), point.clock * 1000 + Math.round(point.ns / 1000000)];
|
||||
}
|
||||
|
||||
function convertTrendPoint(valueType, point) {
|
||||
@@ -95,6 +95,12 @@ function convertTrendPoint(valueType, point) {
|
||||
case "avg":
|
||||
value = point.value_avg;
|
||||
break;
|
||||
case "sum":
|
||||
value = point.value_sum;
|
||||
break;
|
||||
case "count":
|
||||
value = point.value_count;
|
||||
break;
|
||||
default:
|
||||
value = point.value_avg;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user