mirror of
https://github.com/tokio-rs/tracing.git
synced 2025-10-02 15:24:47 +00:00

### Added - **fmt**: Added `flatten_event` to `SubscriberBuilder` (#599) - **fmt**: Added `with_level` to `SubscriberBuilder` (#594) Signed-off-by: Lucio Franco <luciofranco14@gmail.com>
Tracing Examples
This directory contains a collection of examples that demonstrate the use of the
tracing
ecosystem:
- tracing:
counters
: Implements a very simple metrics system to demonstrate how subscribers can consume field values as typed data.sloggish
: A demoSubscriber
implementation that mimics the output ofslog-term
'sCompact
formatter.
- tracing-attributes:
attrs-basic
: A simple example of the#[instrument]
attribute.attrs-args
: An example implementing a simple recursive calculation of Fibonacci numbers, to demonstrate how the#[instrument]
attribute can record function arguments.
- tracing-subscriber:
fmt
: Demonstrates the use of thefmt
module intracing-subscriber
, which provides a subscriber implementation that logs traces to the console.fmt-stderr
: Demonstrates overriding the output stream used by thefmt
subscriber.subscriber-filter
: Demonstrates thetracing-subscriber::filter
module, which provides a layer which adds configurable filtering to a subscriber implementation.tower-load
: Demonstrates how dynamically reloadable filters can be used to debug a server under load in production.
- tracing-futures:
futures-proxy-server
: Demonstrates the use oftracing-futures
by implementing a simple proxy server, based on this example fromtokio
.futures-spawn
: A simple demonstration of the relationship between the spans representing spawned futures.
- tracing-tower:
tower-h2-client
: Demonstrates the use oftracing-tower
to instrument a simpletower-h2
HTTP/2 client (based on this example fromtower-h2
).tower-h2-server
: Demonstrates the use oftracing-tower
to instrument a simpletower-h2
HTTP/2 server (based on this example fromtower-h2
).
- tracing-serde:
serde-yak-shave
: Demonstrates the use oftracing-serde
by implementing a subscriber that emits trace output as JSON.
- tracing-log:
hyper-echo
: Demonstrates howtracing-log
can be used to record unstructured logs from dependencies astracing
events, by instrumenting this example fromhyper
, and usingtracing-log
to record logs emitted byhyper
.
The nightly-examples directory contains examples of how tracing
can be used
with async/await. These are kept separate as async/await is currently only
available on nightly Rust toolchains.