aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2021-10-04 14:59:04 -0400
committerDavid Goulet <dgoulet@torproject.org>2021-10-04 14:59:04 -0400
commite4e88c4b2e44303c54cec6fc8a732c2329417ab4 (patch)
treeb7cdb15aa1ff832d916fcc95b03c730f881f4693
parent1873d4c14c62e8c737e24a60b0aca5a3fcd89eb4 (diff)
parentbd68668ac0e4fb11ac2bcab89ec6592c4721932f (diff)
downloadtor-e4e88c4b2e44303c54cec6fc8a732c2329417ab4.tar.gz
tor-e4e88c4b2e44303c54cec6fc8a732c2329417ab4.zip
Merge branch 'tor-gitlab/mr/228'
-rw-r--r--changes/ticket401824
-rw-r--r--src/core/or/channel.c54
2 files changed, 40 insertions, 18 deletions
diff --git a/changes/ticket40182 b/changes/ticket40182
new file mode 100644
index 0000000000..0071ef9f93
--- /dev/null
+++ b/changes/ticket40182
@@ -0,0 +1,4 @@
+ o Minor features(logging):
+ - If a channel has never received, transmitted a cell or seen a client,
+ do not calculate time diffs against 1/1/1970 but log another prettier message
+ Fixes 40182
diff --git a/src/core/or/channel.c b/src/core/or/channel.c
index c4f3e76fc8..c46fa93e58 100644
--- a/src/core/or/channel.c
+++ b/src/core/or/channel.c
@@ -2629,24 +2629,42 @@ channel_dump_statistics, (channel_t *chan, int severity))
circuitmux_num_circuits(chan->cmux) : 0);
/* Describe timestamps */
- tor_log(severity, LD_GENERAL,
- " * Channel %"PRIu64 " was last used by a "
- "client at %"PRIu64 " (%"PRIu64 " seconds ago)",
- (chan->global_identifier),
- (uint64_t)(chan->timestamp_client),
- (uint64_t)(now - chan->timestamp_client));
- tor_log(severity, LD_GENERAL,
- " * Channel %"PRIu64 " last received a cell "
- "at %"PRIu64 " (%"PRIu64 " seconds ago)",
- (chan->global_identifier),
- (uint64_t)(chan->timestamp_recv),
- (uint64_t)(now - chan->timestamp_recv));
- tor_log(severity, LD_GENERAL,
- " * Channel %"PRIu64 " last transmitted a cell "
- "at %"PRIu64 " (%"PRIu64 " seconds ago)",
- (chan->global_identifier),
- (uint64_t)(chan->timestamp_xmit),
- (uint64_t)(now - chan->timestamp_xmit));
+ if (chan->timestamp_client == 0) {
+ tor_log(severity, LD_GENERAL,
+ " * Channel %"PRIu64 " was never used by a "
+ "client", (chan->global_identifier));
+ } else {
+ tor_log(severity, LD_GENERAL,
+ " * Channel %"PRIu64 " was last used by a "
+ "client at %"PRIu64 " (%"PRIu64 " seconds ago)",
+ (chan->global_identifier),
+ (uint64_t)(chan->timestamp_client),
+ (uint64_t)(now - chan->timestamp_client));
+ }
+ if (chan->timestamp_recv == 0) {
+ tor_log(severity, LD_GENERAL,
+ " * Channel %"PRIu64 " never received a cell",
+ (chan->global_identifier));
+ } else {
+ tor_log(severity, LD_GENERAL,
+ " * Channel %"PRIu64 " last received a cell "
+ "at %"PRIu64 " (%"PRIu64 " seconds ago)",
+ (chan->global_identifier),
+ (uint64_t)(chan->timestamp_recv),
+ (uint64_t)(now - chan->timestamp_recv));
+ }
+ if (chan->timestamp_xmit == 0) {
+ tor_log(severity, LD_GENERAL,
+ " * Channel %"PRIu64 " never transmitted a cell",
+ (chan->global_identifier));
+ } else {
+ tor_log(severity, LD_GENERAL,
+ " * Channel %"PRIu64 " last transmitted a cell "
+ "at %"PRIu64 " (%"PRIu64 " seconds ago)",
+ (chan->global_identifier),
+ (uint64_t)(chan->timestamp_xmit),
+ (uint64_t)(now - chan->timestamp_xmit));
+ }
/* Describe counters and rates */
tor_log(severity, LD_GENERAL,