diff --git a/srv/ping.html b/srv/ping.html index fb7e9338..d1d03cfd 100644 --- a/srv/ping.html +++ b/srv/ping.html @@ -55,6 +55,10 @@ input { interval (msec): + + num pings: + +   @@ -65,14 +69,14 @@ input { avg med max - jitter + mdev x x x x - x + x
@@ -92,11 +96,16 @@ var log = [], srt = [], delay, t0 = -1, + nbad = 0, + min = 9999999, + max = 0, + sum = 0, + sum2 = 0, omin = ebi('min'), omax = ebi('max'), oavg = ebi('avg'), omed = ebi('med'), - ojit = ebi('jit'), + omdv = ebi('mdv'), olog = ebi('log'); function insert(t, v) { @@ -110,12 +119,24 @@ function insert(t, v) { } t.splice(lo, 0, v); } +function f2f(val, nd) { + val = (parseFloat(val) * Math.pow(10, nd)).toFixed(0).split('.')[0]; + return nd ? (val.slice(0, -nd) || '0') + '.' + val.slice(-nd) : val; +} function okgo() { if (t0 < 0) ping(); } function ping() { var xh, + more = parseInt(ebi('more').value) - 1, + stats = [omin.innerHTML, omed.innerHTML, omax.innerHTML, omdv.innerHTML]; + + if (more < 0) + return; + + if (more > 499) + more = 499; delay = parseInt(ebi('delay').value); if (delay < 100) @@ -138,40 +159,39 @@ function ping() { ok = rsp.indexOf('o7') === 0; if (!ok) - alert("ping response invalid or corrupted: " + xh.resp); + nbad++; + sum += t; + sum2 += t * t; log.push(t); insert(srt, t); - var min = 9999999, - avg = 0, - max = 0; + if (min > t) + min = t; - for (var a=0; a
' + srt.join(', '); + omdv.innerHTML = f2f(mdev, 2); + olog.innerHTML = log.join(', ') + '

' + srt.join(', ') + ( + nbad ? "

invalid/corrupted ping responses: " + nbad : ''); setTimeout(ping, delay); }; t0 = new Date().getTime(); stats.push(t0); xh.open("GET", "/?setck=a=x&ping="+stats.join(","), true); xh.send(); + + ebi('more').value = more; olog.innerHTML += '

ping...'; }