-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d3a8f49
commit 5b22ee5
Showing
4 changed files
with
129 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
use tracing::{debug, error, info, instrument, span, warn, Level}; | ||
use tracing_subscriber::{layer::SubscriberExt, registry::Registry}; | ||
use tracing_tree::HierarchicalLayer; | ||
|
||
fn main() { | ||
let layer = HierarchicalLayer::default() | ||
.with_writer(std::io::stdout) | ||
.with_indent_amount(2) | ||
.with_thread_names(true) | ||
.with_thread_ids(true) | ||
.with_verbose_exit(false) | ||
.with_verbose_entry(false) | ||
.with_targets(true); | ||
|
||
let subscriber = Registry::default().with(layer); | ||
tracing::subscriber::set_global_default(subscriber).unwrap(); | ||
|
||
let app_span = span!(Level::TRACE, "hierarchical-example", version = %0.1); | ||
let _e = app_span.enter(); | ||
|
||
let server_span = span!(Level::TRACE, "server", host = "localhost", port = 8080); | ||
let _e2 = server_span.enter(); | ||
info!("starting"); | ||
std::thread::sleep(std::time::Duration::from_millis(300)); | ||
info!("listening"); | ||
let peer1 = span!(Level::TRACE, "conn", peer_addr = "82.9.9.9", port = 42381); | ||
peer1.in_scope(|| { | ||
debug!("connected"); | ||
std::thread::sleep(std::time::Duration::from_millis(300)); | ||
debug!(length = 2, "message received"); | ||
}); | ||
drop(peer1); | ||
let peer2 = span!(Level::TRACE, "conn", peer_addr = "8.8.8.8", port = 18230); | ||
peer2.in_scope(|| { | ||
std::thread::sleep(std::time::Duration::from_millis(300)); | ||
debug!("connected"); | ||
}); | ||
drop(peer2); | ||
let peer3 = span!( | ||
Level::TRACE, | ||
"foomp", | ||
normal_var = 43, | ||
"{} <- format string", | ||
42 | ||
); | ||
peer3.in_scope(|| { | ||
error!("hello"); | ||
}); | ||
drop(peer3); | ||
let peer1 = span!(Level::TRACE, "conn", peer_addr = "82.9.9.9", port = 42381); | ||
peer1.in_scope(|| { | ||
warn!(algo = "xor", "weak encryption requested"); | ||
std::thread::sleep(std::time::Duration::from_millis(300)); | ||
debug!(length = 8, "response sent"); | ||
debug!("disconnected"); | ||
}); | ||
drop(peer1); | ||
let peer2 = span!(Level::TRACE, "conn", peer_addr = "8.8.8.8", port = 18230); | ||
peer2.in_scope(|| { | ||
debug!(length = 5, "message received"); | ||
std::thread::sleep(std::time::Duration::from_millis(300)); | ||
debug!(length = 8, "response sent"); | ||
debug!("disconnected"); | ||
}); | ||
drop(peer2); | ||
warn!("internal error"); | ||
info!("exit"); | ||
} | ||
|
||
#[instrument] | ||
fn call_a(name: &str) { | ||
info!(name, "got a name"); | ||
call_b(name) | ||
} | ||
|
||
#[instrument] | ||
fn call_b(name: &str) { | ||
info!(name, "got a name"); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
1:mainno_indent::hierarchical-example version=0.1 | ||
1:main no_indent::server host="localhost", port=8080 | ||
1:main Xms INFO no_indent starting | ||
1:main Xms INFO no_indent listening | ||
1:main no_indent::conn peer_addr="82.9.9.9", port=42381 | ||
1:main Xms DEBUG no_indent connected | ||
1:main Xms DEBUG no_indent message received, length=2 | ||
1:main no_indent::conn peer_addr="8.8.8.8", port=18230 | ||
1:main Xms DEBUG no_indent connected | ||
1:main no_indent::foomp 42 <- format string, normal_var=43 | ||
1:main Xms ERROR no_indent hello | ||
1:main no_indent::conn peer_addr="82.9.9.9", port=42381 | ||
1:main Xms WARN no_indent weak encryption requested, algo="xor" | ||
1:main Xms DEBUG no_indent response sent, length=8 | ||
1:main Xms DEBUG no_indent disconnected | ||
1:main no_indent::conn peer_addr="8.8.8.8", port=18230 | ||
1:main Xms DEBUG no_indent message received, length=5 | ||
1:main Xms DEBUG no_indent response sent, length=8 | ||
1:main Xms DEBUG no_indent disconnected | ||
1:main Xs WARN no_indent internal error | ||
1:main Xs INFO no_indent exit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,28 @@ | ||
1:mainquiet::hierarchical-example version=0.1 | ||
1:main quiet::server host="localhost", port=8080 | ||
1:main Xms INFO quiet starting | ||
1:main Xms INFO quiet listening | ||
1:main quiet::conn peer_addr="82.9.9.9", port=42381 | ||
1:main Xms DEBUG quiet connected | ||
1:main Xms DEBUG quiet message received, length=2 | ||
1:main quiet::conn peer_addr="8.8.8.8", port=18230 | ||
1:main Xms DEBUG quiet connected | ||
1:main quiet::foomp 42 <- format string, normal_var=43 | ||
1:main Xms ERROR quiet hello | ||
1:main quiet::conn peer_addr="82.9.9.9", port=42381 | ||
1:main Xms WARN quiet weak encryption requested, algo="xor" | ||
1:main Xms DEBUG quiet response sent, length=8 | ||
1:main Xms DEBUG quiet disconnected | ||
1:main quiet::conn peer_addr="8.8.8.8", port=18230 | ||
1:main Xms DEBUG quiet message received, length=5 | ||
1:main Xms DEBUG quiet response sent, length=8 | ||
1:main Xms DEBUG quiet disconnected | ||
1:main Xs WARN quiet internal error | ||
1:main Xs INFO quiet exit | ||
1:main┐quiet::hierarchical-example version=0.1 | ||
1:main├─┐quiet::server host="localhost", port=8080 | ||
1:main│ ├─ Xms INFO quiet starting | ||
1:main│ ├─ Xms INFO quiet listening | ||
1:main│ ├─┐quiet::conn peer_addr="82.9.9.9", port=42381 | ||
1:main│ │ ├─ Xms DEBUG quiet connected | ||
1:main│ │ ├─ Xms DEBUG quiet message received, length=2 | ||
1:main│ ├─┘ | ||
1:main│ ├─┐quiet::conn peer_addr="8.8.8.8", port=18230 | ||
1:main│ │ ├─ Xms DEBUG quiet connected | ||
1:main│ ├─┘ | ||
1:main│ ├─┐quiet::foomp 42 <- format string, normal_var=43 | ||
1:main│ │ ├─ Xms ERROR quiet hello | ||
1:main│ ├─┘ | ||
1:main│ ├─┐quiet::conn peer_addr="82.9.9.9", port=42381 | ||
1:main│ │ ├─ Xms WARN quiet weak encryption requested, algo="xor" | ||
1:main│ │ ├─ Xms DEBUG quiet response sent, length=8 | ||
1:main│ │ ├─ Xms DEBUG quiet disconnected | ||
1:main│ ├─┘ | ||
1:main│ ├─┐quiet::conn peer_addr="8.8.8.8", port=18230 | ||
1:main│ │ ├─ Xms DEBUG quiet message received, length=5 | ||
1:main│ │ ├─ Xms DEBUG quiet response sent, length=8 | ||
1:main│ │ ├─ Xms DEBUG quiet disconnected | ||
1:main│ ├─┘ | ||
1:main│ ├─ Xs WARN quiet internal error | ||
1:main│ ├─ Xs INFO quiet exit | ||
1:main├─┘ | ||
1:main┘ |