Browse Source

Log information on specific compression backends in the OOM handler.

This patch adds some additional logging to circuits_handle_oom() to give
us more information about which specific compression backend that is
using a certain amount of memory.

See: https://bugs.torproject.org/25372
Alexander Færøy 6 years ago
parent
commit
fd36bd8971
2 changed files with 11 additions and 0 deletions
  1. 3 0
      changes/bug25372
  2. 8 0
      src/or/circuitlist.c

+ 3 - 0
changes/bug25372

@@ -0,0 +1,3 @@
+  o Minor features (log messages):
+    - Improve log message in the out of memory handler to include information
+      about memory usage from the different compression backends. Closes ticket 25372.

+ 8 - 0
src/or/circuitlist.c

@@ -82,6 +82,9 @@
 #include "routerlist.h"
 #include "routerset.h"
 #include "channelpadding.h"
+#include "compress_lzma.h"
+#include "compress_zlib.h"
+#include "compress_zstd.h"
 
 #include "ht.h"
 
@@ -2476,12 +2479,17 @@ circuits_handle_oom(size_t current_allocation)
   log_notice(LD_GENERAL, "We're low on memory (cell queues total alloc:"
              " %"TOR_PRIuSZ" buffer total alloc: %" TOR_PRIuSZ ","
              " tor compress total alloc: %" TOR_PRIuSZ
+             " (zlib: %" TOR_PRIuSZ ", zstd: %" TOR_PRIuSZ ","
+             " lzma: %" TOR_PRIuSZ "),"
              " rendezvous cache total alloc: %" TOR_PRIuSZ "). Killing"
              " circuits withover-long queues. (This behavior is controlled by"
              " MaxMemInQueues.)",
              cell_queues_get_total_allocation(),
              buf_get_total_allocation(),
              tor_compress_get_total_allocation(),
+             tor_zlib_get_total_allocation(),
+             tor_zstd_get_total_allocation(),
+             tor_lzma_get_total_allocation(),
              rend_cache_get_total_allocation());
 
   {