14 releases

new 0.2.1 May 26, 2022
0.2.0 Dec 6, 2021
0.1.11 Nov 22, 2021
0.1.9 Mar 9, 2021
0.1.4 Jul 13, 2020
Download history 8781/week @ 2022-02-05 10046/week @ 2022-02-12 10046/week @ 2022-02-19 10493/week @ 2022-02-26 9755/week @ 2022-03-05 8495/week @ 2022-03-12 9604/week @ 2022-03-19 9500/week @ 2022-03-26 10467/week @ 2022-04-02 11821/week @ 2022-04-09 10160/week @ 2022-04-16 10446/week @ 2022-04-23 10941/week @ 2022-04-30 10411/week @ 2022-05-07 10662/week @ 2022-05-14 10513/week @ 2022-05-21

44,225 downloads per month
Used in 11 crates (7 directly)

MIT/Apache

28KB
700 lines

tracing-tree

Instrument your application with 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)

Setup

After instrumenting your app with tracing, add this subscriber like this:

let subscriber = Registry::default().with(HierarchicalLayer::new(2));
tracing::subscriber::set_global_default(subscriber).unwrap();

Dependencies

~1.5MB
~24K SLoC