average and sum: fix for null values
This commit is contained in:
38
dist/datasource-zabbix/timeseries.js
vendored
38
dist/datasource-zabbix/timeseries.js
vendored
@@ -209,24 +209,36 @@ System.register(['lodash', './utils'], function (_export, _context) {
|
|||||||
return newSeries;
|
return newSeries;
|
||||||
}
|
}
|
||||||
|
|
||||||
function SUM(values) {
|
|
||||||
var sum = 0;
|
|
||||||
_.each(values, function (value) {
|
|
||||||
sum += value;
|
|
||||||
});
|
|
||||||
return sum;
|
|
||||||
}
|
|
||||||
|
|
||||||
function COUNT(values) {
|
function COUNT(values) {
|
||||||
return values.length;
|
return values.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function SUM(values) {
|
||||||
|
var sum = null;
|
||||||
|
for (var i = 0; i < values.length; i++) {
|
||||||
|
if (values[i] !== null) {
|
||||||
|
sum += values[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
function AVERAGE(values) {
|
function AVERAGE(values) {
|
||||||
var sum = 0;
|
var values_non_null = getNonNullValues(values);
|
||||||
_.each(values, function (value) {
|
if (values_non_null.length === 0) {
|
||||||
sum += value;
|
return null;
|
||||||
});
|
}
|
||||||
return sum / values.length;
|
return SUM(values_non_null) / values_non_null.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getNonNullValues(values) {
|
||||||
|
var values_non_null = [];
|
||||||
|
for (var i = 0; i < values.length; i++) {
|
||||||
|
if (values[i] !== null) {
|
||||||
|
values_non_null.push(values[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return values_non_null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function MIN(values) {
|
function MIN(values) {
|
||||||
|
|||||||
2
dist/datasource-zabbix/timeseries.js.map
vendored
2
dist/datasource-zabbix/timeseries.js.map
vendored
File diff suppressed because one or more lines are too long
38
dist/test/datasource-zabbix/timeseries.js
vendored
38
dist/test/datasource-zabbix/timeseries.js
vendored
@@ -234,24 +234,36 @@ function rate(datapoints) {
|
|||||||
return newSeries;
|
return newSeries;
|
||||||
}
|
}
|
||||||
|
|
||||||
function SUM(values) {
|
|
||||||
var sum = 0;
|
|
||||||
_lodash2.default.each(values, function (value) {
|
|
||||||
sum += value;
|
|
||||||
});
|
|
||||||
return sum;
|
|
||||||
}
|
|
||||||
|
|
||||||
function COUNT(values) {
|
function COUNT(values) {
|
||||||
return values.length;
|
return values.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function SUM(values) {
|
||||||
|
var sum = null;
|
||||||
|
for (var i = 0; i < values.length; i++) {
|
||||||
|
if (values[i] !== null) {
|
||||||
|
sum += values[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
function AVERAGE(values) {
|
function AVERAGE(values) {
|
||||||
var sum = 0;
|
var values_non_null = getNonNullValues(values);
|
||||||
_lodash2.default.each(values, function (value) {
|
if (values_non_null.length === 0) {
|
||||||
sum += value;
|
return null;
|
||||||
});
|
}
|
||||||
return sum / values.length;
|
return SUM(values_non_null) / values_non_null.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getNonNullValues(values) {
|
||||||
|
var values_non_null = [];
|
||||||
|
for (var i = 0; i < values.length; i++) {
|
||||||
|
if (values[i] !== null) {
|
||||||
|
values_non_null.push(values[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return values_non_null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function MIN(values) {
|
function MIN(values) {
|
||||||
|
|||||||
@@ -226,24 +226,36 @@ function rate(datapoints) {
|
|||||||
return newSeries;
|
return newSeries;
|
||||||
}
|
}
|
||||||
|
|
||||||
function SUM(values) {
|
|
||||||
var sum = 0;
|
|
||||||
_.each(values, function (value) {
|
|
||||||
sum += value;
|
|
||||||
});
|
|
||||||
return sum;
|
|
||||||
}
|
|
||||||
|
|
||||||
function COUNT(values) {
|
function COUNT(values) {
|
||||||
return values.length;
|
return values.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function SUM(values) {
|
||||||
|
var sum = null;
|
||||||
|
for (let i = 0; i < values.length; i++) {
|
||||||
|
if (values[i] !== null) {
|
||||||
|
sum += values[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
function AVERAGE(values) {
|
function AVERAGE(values) {
|
||||||
var sum = 0;
|
let values_non_null = getNonNullValues(values);
|
||||||
_.each(values, function (value) {
|
if (values_non_null.length === 0) {
|
||||||
sum += value;
|
return null;
|
||||||
});
|
}
|
||||||
return sum / values.length;
|
return SUM(values_non_null) / values_non_null.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getNonNullValues(values) {
|
||||||
|
let values_non_null = [];
|
||||||
|
for (let i = 0; i < values.length; i++) {
|
||||||
|
if (values[i] !== null) {
|
||||||
|
values_non_null.push(values[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return values_non_null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function MIN(values) {
|
function MIN(values) {
|
||||||
|
|||||||
Reference in New Issue
Block a user