have_baseline[pn]=0 # do we have enough data to make informed decisions?
ping_avgs[pn]=-1 # mean of last PINGSLOTS recorded latencies per PEER
ping_prev[pn]=-1 # latency recorded in the previous cycle
+ ping_pprev[pn]=-1 # latency recorded in the previous cycle
not_increasing_count[pn]=0 # number of consecutive cycles with no (fudged) latency increase
}
}
# 192.168.1.50 : [0], timed out (NaN avg, 100% loss)
-
/, timed out / {
pn=$1
seq=$3
print "TIMEOUT for " pn
}
+
# 1.1.1.1 : [0], 1288 bytes, 10.3 ms (10.3 avg, 0% loss)
/[0-9] bytes, [0-9]*.[0-9]* ms / {
pn=$1
thresh_fudged = (FUDGE + (ping_avgs[pn] * THRESHOLD))
if (last2avg > thresh_fudged ) {
print "LATENCY ++ " last2avg " " thresh_fudged " prev=" ping_prev[pn] " lat=" lat " host=" pn
+ # print "CONSIDER BW DECREASE" # need better way to make this call
not_increasing_count[pn]=0
} else {
print "LATENCY == " last2avg " " thresh_fudged " prev=" ping_prev[pn] " lat=" lat " host=" pn
} else {
# print "NODATA"
}
+ ping_pprev[pn]=ping_prev[pn]
ping_prev[pn]=lat
}