commit b25ca8af06532d3847ce11040f970a1c001c1ad8 Author: Nick Mathewson nickm@torproject.org Date: Tue Jun 28 14:23:28 2011 -0400
Limit the number of different handshake reasons to report
If connections failed in more than 10 different states, let's just report the top ten states. --- src/or/connection_or.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/or/connection_or.c b/src/or/connection_or.c index 85df78b..b5cd68a 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -222,6 +222,9 @@ broken_state_count_compare(const void **a_ptr, const void **b_ptr) }
/** DOCDOC */ +#define MAX_REASONS_TO_REPORT 10 + +/** DOCDOC */ void connection_or_report_broken_states(int severity, int domain) { @@ -242,9 +245,12 @@ connection_or_report_broken_states(int severity, int domain)
smartlist_sort(items, broken_state_count_compare);
- log(severity, domain, "%d connections have failed:", total); + log(severity, domain, "%d connections have failed%s", total, + smartlist_len(items) > MAX_REASONS_TO_REPORT ? ". Top reasons:" : ":");
SMARTLIST_FOREACH_BEGIN(items, const broken_state_count_t *, c) { + if (c_sl_idx > MAX_REASONS_TO_REPORT) + break; log(severity, domain, " %d connections died in state %s", (int)c->count, c->state); } SMARTLIST_FOREACH_END(c);
tor-commits@lists.torproject.org