Expand description
Β§async-inspect π
X-ray vision for async Rust
async-inspect visualizes and inspects async state machines in Rust. See exactly what your futures are doing, where theyβre stuck, and why.
Β§Quick Start
β
use async_inspect::prelude::*;
#[async_inspect::trace]
async fn fetch_user(id: u64) -> User {
let profile = fetch_profile(id).await;
let posts = fetch_posts(id).await;
User { profile, posts }
}Β§Features
- π State Machine Inspection - See current state and variables
- β±οΈ Execution Timeline - Visualize async execution
- π Deadlock Detection - Find circular dependencies
- π Performance Analysis - Identify bottlenecks
Re-exportsΒ§
ModulesΒ§
- channel
- Tracked channel primitives
- config
- Production configuration Production configuration and settings
- dashboard
- Web Dashboard for real-time monitoring Web dashboard for real-time async inspection
- deadlock
- Deadlock detection Deadlock detection and analysis
- error
- Error types
- export
- Export functionality Export functionality for various formats
- graph
- Task relationship graph Task relationship graph and visualization
- inspector
- Core inspection types and traits Core inspection functionality
- instrument
- Instrumentation and tracing Code instrumentation utilities
- integrations
- Ecosystem integrations Ecosystem integrations for async-inspect
- lsp
- Language Server Protocol (LSP) integration Language Server Protocol (LSP) integration for async-inspect
- prelude
- Prelude for convenient imports
- profile
- Performance profiling Performance profiling and analysis
- reporter
- Reporting and output Reporting and output formatting
- runtime
- Runtime integration hooks Runtime integration hooks
- state_
machine - State machine introspection
- sync
- Tracked synchronization primitives
- task
- Task tracking and monitoring Task tracking and monitoring
- telemetry
- Usage telemetry
- timeline
- Timeline and execution history Execution timeline tracking
- tui
- Terminal User Interface Terminal User Interface (TUI) for real-time async monitoring
MacrosΒ§
- if_
sampled - Helper to conditionally execute code only when sampling
- inspect_
point - Record an inspection point in async code
- inspect_
task_ complete - Mark current task as completed
- inspect_
task_ failed - Mark current task as failed
- inspect_
task_ start - Begin tracking an async task
- measure_
overhead - Helper macro to measure and record overhead