[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