From 26b48a708a50a9f94c7724280831ccefc8437996 Mon Sep 17 00:00:00 2001 From: Freja Roberts Date: Fri, 16 Feb 2024 13:20:37 +0100 Subject: [PATCH] chore: print parent of retrace chain root during pre_open The previous behavior was to print the parent of the new span, leading to a parent being printed twice if the parent was also included in the retrace chain. --- examples/concurrent_eager.stdout | 12 ++++-------- examples/concurrent_verbose.stdout | 21 ++++++++++++--------- examples/deferred.stdout | 21 ++++++++++++--------- src/lib.rs | 7 ++++--- 4 files changed, 32 insertions(+), 29 deletions(-) diff --git a/examples/concurrent_eager.stdout b/examples/concurrent_eager.stdout index 289a83b..dac84ac 100644 --- a/examples/concurrent_eager.stdout +++ b/examples/concurrent_eager.stdout @@ -1,19 +1,15 @@ 1:main┐concurrent_eager::spawn_fut key="a" 1:main┐concurrent_eager::spawn_fut key="b" 1:main┐concurrent_eager::spawn_fut key="a" -1:main├─┐concurrent_eager::spawn_fut key="a" -1:main│ └─┐concurrent_eager::a +1:main├───┐concurrent_eager::a 1:main┐concurrent_eager::spawn_fut key="b" -1:main├─┐concurrent_eager::spawn_fut key="b" -1:main│ └─┐concurrent_eager::b +1:main├───┐concurrent_eager::b 1:main┐concurrent_eager::spawn_fut key="a" -1:main├─┐concurrent_eager::spawn_fut key="a" -1:main│ └─┐concurrent_eager::a +1:main├───┐concurrent_eager::a 1:main│ ├─── Xms INFO concurrent_eager a 1:main├───┘ 1:main┐concurrent_eager::spawn_fut key="b" -1:main├─┐concurrent_eager::spawn_fut key="b" -1:main│ └─┐concurrent_eager::b +1:main├───┐concurrent_eager::b 1:main│ ├─── Xms INFO concurrent_eager b 1:main├───┘ 1:main┘ diff --git a/examples/concurrent_verbose.stdout b/examples/concurrent_verbose.stdout index 363b957..73d1e57 100644 --- a/examples/concurrent_verbose.stdout +++ b/examples/concurrent_verbose.stdout @@ -1,21 +1,24 @@ 1:main┐concurrent_verbose::hierarchical-example version=0.1 -1:main├─┐concurrent_verbose::hierarchical-example version=0.1 -1:main│ └─┐concurrent_verbose::server host="localhost", port=8080 +1:main├───┐concurrent_verbose::server host="localhost", port=8080 1:main│ ├─── Xms INFO concurrent_verbose starting 1:main│ ├─── Xs INFO concurrent_verbose listening 1:main│ ├─── Xs DEBUG concurrent_verbose starting countdowns -1:main│ ├───┐concurrent_verbose::countdowns -1:main│ │ ├─┐concurrent_verbose::countdowns -1:main│ │ │ └─┐concurrent_verbose::countdown_a +1:main│ ├─┐concurrent_verbose::server host="localhost", port=8080 +1:main│ │ └─┐concurrent_verbose::countdowns +1:main│ │ ├───┐concurrent_verbose::countdown_a 1:main│ │ │ ├─── Xms DEBUG concurrent_verbose polling countdown, label="a", count=3 -1:main│ │ ├───┐concurrent_verbose::countdown_b +1:main│ │ ├─┐concurrent_verbose::countdowns +1:main│ │ │ └─┐concurrent_verbose::countdown_b 1:main│ │ │ ├─── Xms DEBUG concurrent_verbose polling countdown, label="b", count=5 1:main│ │ │ ├─── Xms DEBUG concurrent_verbose polling countdown, label="b", count=4 -1:main│ │ ├───┐concurrent_verbose::countdown_a +1:main│ │ ├─┐concurrent_verbose::countdowns +1:main│ │ │ └─┐concurrent_verbose::countdown_a 1:main│ │ │ ├─── Xms DEBUG concurrent_verbose polling countdown, label="a", count=2 -1:main│ ├───┐concurrent_verbose::conn peer_addr="82.9.9.9", port=42381 +1:main│ ├─┐concurrent_verbose::server host="localhost", port=8080 +1:main│ │ └─┐concurrent_verbose::conn peer_addr="82.9.9.9", port=42381 1:main│ │ ├─── Xms WARN concurrent_verbose peer1 warning -1:main│ ├───┐concurrent_verbose::countdowns +1:main│ ├─┐concurrent_verbose::server host="localhost", port=8080 +1:main│ │ └─┐concurrent_verbose::countdowns 1:main│ │ ├─── Xms INFO concurrent_verbose finished polling countdowns 1:main│ │ │ ┌─┘concurrent_verbose::countdown_b 1:main│ │ ├─┘concurrent_verbose::countdowns diff --git a/examples/deferred.stdout b/examples/deferred.stdout index 7793e1c..e2fc729 100644 --- a/examples/deferred.stdout +++ b/examples/deferred.stdout @@ -1,32 +1,35 @@ -> This prints before the span open message 1:main┐open: deferred::hierarchical-example version=0.1 -1:main├┐pre_open: deferred::hierarchical-example version=0.1 -1:main│└┐open(v): deferred::server host="localhost", port=8080 +1:main├─┐open: deferred::server host="localhost", port=8080 1:main│ ├─ Xms INFO deferred starting 1:main│ ├─ Xs INFO deferred listening -> Deferring two levels of spans -1:main│ ├─┐open: deferred::connections -1:main│ │ ├┐pre_open: deferred::connections -1:main│ │ │└┐open(v): deferred::conn peer_addr="82.9.9.9", port=42381 +1:main│ ├┐pre_open: deferred::server host="localhost", port=8080 +1:main│ │└┐open(v): deferred::connections +1:main│ │ ├─┐open: deferred::conn peer_addr="82.9.9.9", port=42381 1:main│ │ │ ├─ Xms DEBUG deferred connected, peer="peer1" 1:main│ │ │ ├─ Xms DEBUG deferred message received, length=2 1:main│ │ │┌┘close(v): deferred::conn peer_addr="82.9.9.9", port=42381 1:main│ │ ├┘post_close: deferred::connections -1:main│ │ ├─┐open: deferred::conn peer_addr="8.8.8.8", port=18230 +1:main│ │ ├┐pre_open: deferred::connections +1:main│ │ │└┐open(v): deferred::conn peer_addr="8.8.8.8", port=18230 1:main│ │ │ ├─ Xms DEBUG deferred connected, peer="peer3" 1:main│ │ │┌┘close(v): deferred::conn peer_addr="8.8.8.8", port=18230 1:main│ │ ├┘post_close: deferred::connections -1:main│ │ ├─┐open: deferred::foomp 42 <- format string, normal_var=43 +1:main│ │ ├┐pre_open: deferred::connections +1:main│ │ │└┐open(v): deferred::foomp 42 <- format string, normal_var=43 1:main│ │ │ ├─ Xms ERROR deferred hello 1:main│ │ │┌┘close(v): deferred::foomp 42 <- format string, normal_var=43 1:main│ │ ├┘post_close: deferred::connections -1:main│ │ ├─┐open: deferred::conn peer_addr="82.9.9.9", port=42381 +1:main│ │ ├┐pre_open: deferred::connections +1:main│ │ │└┐open(v): deferred::conn peer_addr="82.9.9.9", port=42381 1:main│ │ │ ├─ Xms WARN deferred weak encryption requested, algo="xor" 1:main│ │ │ ├─ Xms DEBUG deferred response sent, length=8 1:main│ │ │ ├─ Xms DEBUG deferred disconnected 1:main│ │ │┌┘close(v): deferred::conn peer_addr="82.9.9.9", port=42381 1:main│ │ ├┘post_close: deferred::connections -1:main│ │ ├─┐open: deferred::conn peer_addr="8.8.8.8", port=18230 +1:main│ │ ├┐pre_open: deferred::connections +1:main│ │ │└┐open(v): deferred::conn peer_addr="8.8.8.8", port=18230 1:main│ │ │ ├─ Xms DEBUG deferred message received, length=5 1:main│ │ │ ├─ Xms DEBUG deferred response sent, length=8 1:main│ │ │ ├─ Xms DEBUG deferred disconnected diff --git a/src/lib.rs b/src/lib.rs index f0c66b0..ba12922 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -307,10 +307,11 @@ where false }; - let verbose = i == 1 && pre_open && span.id() == new_span_id; - // Print the parent of the new span if `pre_open==true` - if verbose { + // Print the parent of the first span + let mut verbose = false; + if i == 0 && pre_open { if let Some(span) = span.parent() { + verbose = true; self.write_span_info(&span, bufs, SpanMode::PreOpen); } }