[tor-commits] [tor/master] dirclient: print bandwidth usage on one line (#40159)
nickm at torproject.org
nickm at torproject.org
Mon Oct 19 15:24:44 UTC 2020
commit 29065db381dd1a8d67a02964124a15963ea9664d
Author: Alex Xu (Hello71) <alex_y_xu at yahoo.ca>
Date: Thu Oct 8 09:48:38 2020 -0400
dirclient: print bandwidth usage on one line (#40159)
---
changes/ticket40159 | 2 ++
src/feature/dirclient/dirclient.c | 23 ++++++++++++++---------
2 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/changes/ticket40159 b/changes/ticket40159
new file mode 100644
index 0000000000..6484097544
--- /dev/null
+++ b/changes/ticket40159
@@ -0,0 +1,2 @@
+ o Minor features (logging):
+ - Print directory fetch information a single line. Closes ticket 40159.
diff --git a/src/feature/dirclient/dirclient.c b/src/feature/dirclient/dirclient.c
index f088ef8283..c83c93f56d 100644
--- a/src/feature/dirclient/dirclient.c
+++ b/src/feature/dirclient/dirclient.c
@@ -1987,7 +1987,7 @@ dirclient_dump_total_dls(void)
{
const or_options_t *options = get_options();
for (int bootstrapped = 0; bootstrapped < 2; ++bootstrapped) {
- bool first_time = true;
+ smartlist_t *lines = smartlist_new();
for (int i=0; i < DIR_PURPOSE_MAX_; ++i) {
uint64_t n = total_dl[i][bootstrapped];
if (n == 0)
@@ -1995,15 +1995,20 @@ dirclient_dump_total_dls(void)
if (options->SafeLogging_ != SAFELOG_SCRUB_NONE &&
purpose_needs_anonymity(i, ROUTER_PURPOSE_GENERAL, NULL))
continue;
- if (first_time) {
- log_notice(LD_NET,
- "While %sbootstrapping, fetched this many bytes: ",
- bootstrapped?"not ":"");
- first_time = false;
- }
- log_notice(LD_NET, " %"PRIu64" (%s)",
- n, dir_conn_purpose_to_string(i));
+ char *line = NULL;
+ tor_asprintf(&line, "%"PRIu64" (%s)", n, dir_conn_purpose_to_string(i));
+ smartlist_add(lines, line);
+ }
+
+ if (smartlist_len(lines) > 0) {
+ char *log_line = smartlist_join_strings(lines, "; ", 0, NULL);
+ log_notice(LD_NET, "While %sbootstrapping, fetched this many bytes: %s",
+ bootstrapped?"not ":"", log_line);
+ tor_free(log_line);
+
+ SMARTLIST_FOREACH(lines, char *, s, tor_free(s));
}
+ smartlist_free(lines);
}
}
More information about the tor-commits
mailing list