Commit 0277f95b authored by Leigh B. Stoller's avatar Leigh B. Stoller

Change the latency error threshold test. If latency is lower then

expected, then use the current test. If the latency is higher then
expected, then allow for some fudge. Using 3ms fudge, since as Jay
points out, its either really close, or its totally broken. This will
reduce false positives, especially when using endnodeshaping.
parent 959bd6d5
...@@ -65,8 +65,9 @@ use constant LIMIT_BW_LOSS => 0; ...@@ -65,8 +65,9 @@ use constant LIMIT_BW_LOSS => 0;
# Make sure that we dont get bogged down in being too accurate! # Make sure that we dont get bogged down in being too accurate!
# Make sure the error is a certain significance before we start reporting it. # Make sure the error is a certain significance before we start reporting it.
use constant INSIGNIFICANT_LAT_ERROR => 0.50; # ms use constant INSIGNIFICANT_LAT_ERROR_LO => 0.50; # ms
use constant INSIGNIFICANT_BW_ERROR => 1.00; # mb use constant INSIGNIFICANT_LAT_ERROR_HI => 3.00; # ms
use constant INSIGNIFICANT_BW_ERROR => 1.00; # mb
# latency must be corrected for xmit delay under this speed. # latency must be corrected for xmit delay under this speed.
use constant LAT_LOW_BW => 10000000; use constant LAT_LOW_BW => 10000000;
...@@ -692,23 +693,24 @@ sub latency_test { ...@@ -692,23 +693,24 @@ sub latency_test {
exit(EXIT_NOT_OK); exit(EXIT_NOT_OK);
} else { } else {
my $z = $numerator / $denominator; my $z = $numerator / $denominator;
my $t_reject = 3.250; # alpha = 0.01, df=9 my $t_reject = 3.250; # alpha = 0.01, df=9
if(abs($z) > $t_reject if ((abs($z) > $t_reject) &&
&& (abs($x_bar - $u) > INSIGNIFICANT_LAT_ERROR) (($x_bar < $u &&
) { (($u - $x_bar) >=
my $errmsg = "Probable latency misconfiguration (expected=$u, measured mean=$x_bar)."; INSIGNIFICANT_LAT_ERROR_LO)) ||
&error(NAME_LATENCY, $edge, $errmsg); ($x_bar > $u &&
(($x_bar - $u) >=
INSIGNIFICANT_LAT_ERROR_HI)))) {
&error(NAME_LATENCY, $edge,
"Probable latency ".
"misconfiguration (expected=$u, ".
"measured mean=$x_bar).");
exit(EXIT_NOT_OK); exit(EXIT_NOT_OK);
} }
} }
} }
exit(EXIT_OK); exit(EXIT_OK);
} else { } else {
$waitlist{$pid} = 1; $waitlist{$pid} = 1;
} }
...@@ -762,6 +764,9 @@ sub bw_test { ...@@ -762,6 +764,9 @@ sub bw_test {
if (&valid_bw($edge)) { if (&valid_bw($edge)) {
push @analyze_list, $edge; push @analyze_list, $edge;
&info(" Starting bandwidth test for " .
&print_link($edge) . "\n");
&my_system(PATH_PATHRATE_RCV, "-Q","-s",$edge->src,"-q","-N", PATHRATE_DAT); &my_system(PATH_PATHRATE_RCV, "-Q","-s",$edge->src,"-q","-N", PATHRATE_DAT);
} else { } else {
&debug("Skipping bandwidth test for " . &print_link($edge) . "\n"); &debug("Skipping bandwidth test for " . &print_link($edge) . "\n");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment