diff options
author | Mike Perry <mikeperry-git@fscked.org> | 2012-10-24 18:15:41 -0700 |
---|---|---|
committer | Mike Perry <mikeperry-git@fscked.org> | 2012-12-07 15:28:37 -0800 |
commit | 9bf5582e7368bf91e2b9bf9e88ee71d2ba51a335 (patch) | |
tree | eefec6e9be1d915bcae9dea6876d56a11e681414 | |
parent | 248fbc3619664e1d9f4b16732ccbdb484939624d (diff) | |
download | tor-9bf5582e7368bf91e2b9bf9e88ee71d2ba51a335.tar tor-9bf5582e7368bf91e2b9bf9e88ee71d2ba51a335.tar.gz |
Add log message checks for different rates.
May want to squash this forward or back..
-rw-r--r-- | src/or/circuitbuild.c | 17 | ||||
-rw-r--r-- | src/or/entrynodes.h | 6 |
2 files changed, 19 insertions, 4 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 65c649260..34234322e 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -1408,7 +1408,8 @@ entry_guard_inc_first_hop_count(entry_guard_t *guard) * rate and disable the feature entirely. If refactoring, don't * change to <= */ if (guard->circuit_successes/((double)guard->first_hops) - < pathbias_get_crit_rate(options)) { + < pathbias_get_crit_rate(options) + && !guard->path_bias_crited) { /* This message is currently disabled by default. */ log_warn(LD_PROTOCOL, @@ -1417,6 +1418,7 @@ entry_guard_inc_first_hop_count(entry_guard_t *guard) "a bug.", guard->circuit_successes, guard->first_hops, guard->nickname, hex_str(guard->identity, DIGEST_LEN)); + guard->path_bias_crited = 1; if (pathbias_get_dropguards(options)) { guard->path_bias_disabled = 1; @@ -1424,14 +1426,23 @@ entry_guard_inc_first_hop_count(entry_guard_t *guard) } return -1; } else if (guard->circuit_successes/((double)guard->first_hops) + < pathbias_get_warn_rate(options) + && !guard->path_bias_warned) { + guard->path_bias_warned = 1; + log_notice(LD_PROTOCOL, + "Low circuit success rate %u/%u for guard %s=%s.", + guard->circuit_successes, guard->first_hops, guard->nickname, + hex_str(guard->identity, DIGEST_LEN)); + } else if (guard->circuit_successes/((double)guard->first_hops) < pathbias_get_notice_rate(options) - && !guard->path_bias_notice) { - guard->path_bias_notice = 1; + && !guard->path_bias_noticed) { + guard->path_bias_noticed = 1; log_notice(LD_PROTOCOL, "Low circuit success rate %u/%u for guard %s=%s.", guard->circuit_successes, guard->first_hops, guard->nickname, hex_str(guard->identity, DIGEST_LEN)); } + } /* If we get a ton of circuits, just scale everything down */ diff --git a/src/or/entrynodes.h b/src/or/entrynodes.h index b34744183..6fdb3f758 100644 --- a/src/or/entrynodes.h +++ b/src/or/entrynodes.h @@ -31,7 +31,11 @@ typedef struct entry_guard_t { * router, 1 if we have. */ unsigned int can_retry : 1; /**< Should we retry connecting to this entry, * in spite of having it marked as unreachable?*/ - unsigned int path_bias_notice : 1; /**< Did we alert the user about path bias + unsigned int path_bias_noticed : 1; /**< Did we alert the user about path bias + * for this node already? */ + unsigned int path_bias_warned : 1; /**< Did we alert the user about path bias + * for this node already? */ + unsigned int path_bias_crited : 1; /**< Did we alert the user about path bias * for this node already? */ unsigned int path_bias_disabled : 1; /**< Have we disabled this node because * of path bias issues? */ |