[tor-commits] [tor/master] Limit the number of different handshake reasons to report

nickm at torproject.org nickm at torproject.org
Mon Jul 11 20:16:17 UTC 2011


commit b25ca8af06532d3847ce11040f970a1c001c1ad8
Author: Nick Mathewson <nickm at 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);





More information about the tor-commits mailing list