# tracing-tree Instrument your application with [tracing](https://github.com/tokio-rs/tracing) and get tree-structured summaries of your application activity with timing information on the console:
server{host="localhost", port=8080}
0ms INFO starting
300ms INFO listening
conn{peer_addr="82.9.9.9", port=42381}
0ms DEBUG connected
300ms DEBUG message received, length=2
conn{peer_addr="8.8.8.8", port=18230}
300ms DEBUG connected
conn{peer_addr="82.9.9.9", port=42381}
600ms WARN weak encryption requested, algo="xor"
901ms DEBUG response sent, length=8
901ms DEBUG disconnected
conn{peer_addr="8.8.8.8", port=18230}
600ms DEBUG message received, length=5
901ms DEBUG response sent, length=8
901ms DEBUG disconnected
1502ms WARN internal error
1502ms INFO exit
(Format inspired by [slog-term](https://github.com/slog-rs/slog#terminal-output-example))
## Setup
After instrumenting your app with
[tracing](https://github.com/tokio-rs/tracing), add this subscriber like this:
```rust
let subscriber = Registry::default().with(HierarchicalLayer::new(2));
tracing::subscriber::set_global_default(subscriber).unwrap();
```