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...';
}