#tracing-layer #spans #applications #events #console #tree #exit

tracing-tree2

A Tracing Layer which prints a tree of spans and events

1 unstable release

0.3.0 Feb 5, 2023

#25 in #tracing-layer


Used in slite

MIT/Apache

29KB
710 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

~2MB
~26K SLoC