diff options
author | Nick Mathewson <nickm@torproject.org> | 2008-09-29 14:40:34 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2008-09-29 14:40:34 +0000 |
commit | 57db1c1a7dd4a1fd85fa462951737880189e5965 (patch) | |
tree | c6958b140d894f67a2addbc278f653622a2e1967 | |
parent | ee0078ead4d41dc87c080ab5d9ec955770aca3de (diff) | |
download | tor-57db1c1a7dd4a1fd85fa462951737880189e5965.tar.gz tor-57db1c1a7dd4a1fd85fa462951737880189e5965.zip |
Tweak the dbg-stability.txt code to log everything else that influences router stability calculations.
svn:r17003
-rw-r--r-- | src/or/dirserv.c | 5 | ||||
-rw-r--r-- | src/or/rephist.c | 24 |
2 files changed, 24 insertions, 5 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c index b7080aa785..3659babd02 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -1814,14 +1814,15 @@ dirserv_compute_performance_thresholds(routerlist_t *rl) "Cutoffs: For Stable, %lu sec uptime, %lu sec MTBF. " "For Fast: %lu bytes/sec. " "For Guard: WFU %.03lf%%, time-known %lu sec, " - "and bandwidth %lu or %lu bytes/sec.", + "and bandwidth %lu or %lu bytes/sec. We do%s have enough stability data.", (unsigned long)stable_uptime, (unsigned long)stable_mtbf, (unsigned long)fast_bandwidth, guard_wfu*100, (unsigned long)guard_tk, (unsigned long)guard_bandwidth_including_exits, - (unsigned long)guard_bandwidth_excluding_exits); + (unsigned long)guard_bandwidth_excluding_exits, + enough_mtbf_info ? "" : "not "); tor_free(uptimes); tor_free(mtbfs); diff --git a/src/or/rephist.c b/src/or/rephist.c index 8019be7257..fbe8f168e1 100644 --- a/src/or/rephist.c +++ b/src/or/rephist.c @@ -837,17 +837,34 @@ rep_hist_get_router_stability_doc(time_t now) tor_free(last_stability_doc); chunks = smartlist_create(); + if (rep_hist_have_measured_enough_stability()) { + smartlist_add(chunks, tor_strdup("we-have-enough-measurements\n")); + } else { + smartlist_add(chunks, tor_strdup("we-do-not-have-enough-measurements\n")); + } + DIGESTMAP_FOREACH(history_map, id, or_history_t *, hist) { routerinfo_t *ri; char dbuf[BASE64_DIGEST_LEN+1]; - char header_buf[128]; + char header_buf[512]; char *info; digest_to_base64(dbuf, id); ri = router_get_by_digest(id); if (ri) { char *ip = tor_dup_ip(ri->addr); - tor_snprintf(header_buf, sizeof(header_buf), "router %s %s %s\n", - dbuf, ri->nickname, ip); + char tbuf[ISO_TIME_LEN+1]; + format_iso_time(tbuf, ri->cache_info.published_on); + tor_snprintf(header_buf, sizeof(header_buf), + "router %s %s %s\n" + "published %s\n" + "relevant-flags%s%s%s\n" + "declared-uptime %ld\n", + dbuf, ri->nickname, ip, + tbuf, + ri->is_running ? "Running " : "", + ri->is_valid ? "Valid " : "", + ri->is_hibernating ? "Hibernating " : "", + ri->uptime); tor_free(ip); } else { tor_snprintf(header_buf, sizeof(header_buf), @@ -857,6 +874,7 @@ rep_hist_get_router_stability_doc(time_t now) info = rep_hist_format_router_status(hist, now); if (info) smartlist_add(chunks, info); + } DIGESTMAP_FOREACH_END; result = smartlist_join_strings(chunks, "", 0, NULL); |