What problem does it solve? Rust developers often struggle to add consistent, structured observability to their applications, ending up with ad-hoc println debugging or misused tracing patterns like entering spans across await points. This Skill encodes the idiomatic conventions for the tokio-rs tracing ecosystem so instrumentation is correct from the start. ## Core Features & Use Cases - Span and Event Instrumentation: Covers the #[instrument] attribute, manual span creation, field sigils (% and ?), and async instrumentation with .instrument(). - Subscriber Configuration: Shows fmt subscriber setup, EnvFilter with RUST_LOG, JSON output, layered registries, and tokio-console integration. - Structured Error Logging: Enforces structured error fields (error = ?e) instead of stringified messages, plus production guidance like release_max_level_info. - Use Case: When adding observability to an axum or tokio service, use this Skill to instrument handlers with #[instrument], configure an env-filtered JSON subscriber, and avoid common async pitfalls. ## Quick Start Instrument my Rust async handlers with tracing spans and set up a JSON subscriber filtered by the RUST_LOG environment variable.