Merge pull request #181 from stephb9959/dev

2.6.14: statistics fix for devices with more than one interface
This commit is contained in:
Charles
2022-04-19 18:09:43 +01:00
committed by GitHub
3 changed files with 25 additions and 23 deletions

28
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "ucentral-client", "name": "ucentral-client",
"version": "2.6.13", "version": "2.6.14",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ucentral-client", "name": "ucentral-client",
"version": "2.6.13", "version": "2.6.14",
"dependencies": { "dependencies": {
"@coreui/coreui": "^3.4.0", "@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1", "@coreui/icons": "^2.0.1",
@@ -3189,9 +3189,9 @@
} }
}, },
"node_modules/async": { "node_modules/async": {
"version": "2.6.3", "version": "2.6.4",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"lodash": "^4.17.14" "lodash": "^4.17.14"
@@ -9145,9 +9145,9 @@
} }
}, },
"node_modules/moment": { "node_modules/moment": {
"version": "2.29.1", "version": "2.29.3",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
"integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
"engines": { "engines": {
"node": "*" "node": "*"
} }
@@ -17202,9 +17202,9 @@
"dev": true "dev": true
}, },
"async": { "async": {
"version": "2.6.3", "version": "2.6.4",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true, "dev": true,
"requires": { "requires": {
"lodash": "^4.17.14" "lodash": "^4.17.14"
@@ -21741,9 +21741,9 @@
} }
}, },
"moment": { "moment": {
"version": "2.29.1", "version": "2.29.3",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
"integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="
}, },
"mrmime": { "mrmime": {
"version": "1.0.0", "version": "1.0.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "ucentral-client", "name": "ucentral-client",
"version": "2.6.13", "version": "2.6.14",
"dependencies": { "dependencies": {
"@coreui/coreui": "^3.4.0", "@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1", "@coreui/icons": "^2.0.1",

View File

@@ -124,19 +124,21 @@ const StatisticsChartList = ({ setOptions, section, setStart, setEnd, time }) =>
} }
// Looping through all the data // Looping through all the data
let prevTx = 0; const prevTxObj = {};
let prevRx = 0; const prevRxObj = {};
for (const log of sortedData) { for (const log of sortedData) {
// Looping through the interfaces of the log // Looping through the interfaces of the log
const version = log.data.version ?? 0; const version = log.data.version ?? 0;
for (const inter of log.data.interfaces) { for (const inter of log.data.interfaces) {
if (version > 0) { if (version > 0) {
const tx = inter.counters ? Math.floor(inter.counters.tx_bytes) : 0; const prevTx = prevTxObj[inter.name] !== undefined ? prevTxObj[inter.name] : 0;
const rx = inter.counters ? Math.floor(inter.counters.rx_bytes) : 0; const prevRx = prevTxObj[inter.name] !== undefined ? prevRxObj[inter.name] : 0;
interfaceList[interfaceTypes[inter.name]][0].data.push(tx - prevTx); const tx = inter.counters ? inter.counters.tx_bytes : 0;
interfaceList[interfaceTypes[inter.name]][1].data.push(rx - prevRx); const rx = inter.counters ? inter.counters.rx_bytes : 0;
prevTx = tx; interfaceList[interfaceTypes[inter.name]][0].data.push(Math.max(0, tx - prevTx));
prevRx = rx; interfaceList[interfaceTypes[inter.name]][1].data.push(Math.max(0, rx - prevRx));
prevTxObj[inter.name] = tx;
prevRxObj[inter.name] = rx;
} else { } else {
interfaceList[interfaceTypes[inter.name]][0].data.push( interfaceList[interfaceTypes[inter.name]][0].data.push(
inter.counters ? Math.floor(inter.counters.tx_bytes) : 0, inter.counters ? Math.floor(inter.counters.tx_bytes) : 0,