From 06a8bab431eb288a80f6b7a2cc0d9757409640c7 Mon Sep 17 00:00:00 2001 From: Ycarus Date: Wed, 4 Jul 2018 15:42:50 +0200 Subject: [PATCH] Fix MPTCP graphs --- .../luasrc/view/mptcp/multipath.htm | 46 +++++++++---------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/luci-app-mptcp/luasrc/view/mptcp/multipath.htm b/luci-app-mptcp/luasrc/view/mptcp/multipath.htm index 467c81061..27be51b1c 100644 --- a/luci-app-mptcp/luasrc/view/mptcp/multipath.htm +++ b/luci-app-mptcp/luasrc/view/mptcp/multipath.htm @@ -399,16 +399,11 @@ data_tx_peak = Math.max(data_tx_peak, updata[itf][i]); data_max_upl = Math.max(data_max_upl, uplineUpl[itf][i]); - if (i > 0) - { - data_rx_avg = (data_rx_avg + dndata[itf][i]) / 2; - data_tx_avg = (data_tx_avg + updata[itf][i]) / 2; - } - else - { - data_rx_avg = dndata[itf][i]; - data_tx_avg = updata[itf][i]; - } + data_rx_avg += dndata[itf][i]; + data_tx_avg += updata[itf][i]; + + data_rx_avg = (data_rx_avg / Math.max(dndata[itf].length, 1)); + data_tx_avg = (data_tx_avg / Math.max(updata[itf].length, 1)); if(toadditf.length) { @@ -516,6 +511,7 @@ } } ); + XHR.run(); } }, 1000 <% else %> @@ -699,21 +695,22 @@ data_rx_peak = Math.max(data_rx_peak, data_rx[i]); data_tx_peak = Math.max(data_tx_peak, data_tx[i]); - if (i > 0) - { - data_rx_avg = (data_rx_avg + data_rx[i]) / 2; - data_tx_avg = (data_tx_avg + data_tx[i]) / 2; - } - else - { - data_rx_avg = data_rx[i]; - data_tx_avg = data_tx[i]; - } + data_rx_avg += data_rx[i]; + data_tx_avg += data_tx[i]; } + data_rx_avg = (data_rx_avg / Math.max(data_rx.length, 1)); + data_tx_avg = (data_tx_avg / Math.max(data_tx.length, 1)); + + var size = Math.floor(Math.log2(data_max)), + div = Math.pow(2, size - (size % 10)), + mult = data_max / div, + mult = (mult < 5) ? 2 : ((mult < 50) ? 10 : ((mult < 500) ? 100 : 1000)); + + data_max = data_max + (mult * div) - (data_max % (mult * div)); /* remember current timestamp, calculate horizontal scale */ data_stamp = data[data.length-1][TIME]; - data_scale = height / (data_max * 1.1); + data_scale = height / data_max; /* plot data */ @@ -741,9 +738,9 @@ line_rx.setAttribute('points', pt_rx); line_tx.setAttribute('points', pt_tx); - label_25.firstChild.data = bandwidth_label(1.1 * 0.25 * data_max); - label_50.firstChild.data = bandwidth_label(1.1 * 0.50 * data_max); - label_75.firstChild.data = bandwidth_label(1.1 * 0.75 * data_max); + label_25.firstChild.data = bandwidth_label(0.25 * data_max); + label_50.firstChild.data = bandwidth_label(0.50 * data_max); + label_75.firstChild.data = bandwidth_label(0.75 * data_max); label_rx_cur.innerHTML = bandwidth_label(data_rx[data_rx.length-1], true); label_tx_cur.innerHTML = bandwidth_label(data_tx[data_tx.length-1], true); @@ -755,6 +752,7 @@ label_tx_peak.innerHTML = bandwidth_label(data_tx_peak, true); } ); + XHR.run(); } }, 1000 <% end %>