aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection_or.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/connection_or.c')
-rw-r--r--src/or/connection_or.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/or/connection_or.c b/src/or/connection_or.c
index 85df78bd6..b5cd68a96 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);