a debugger for async rust!
4.6k
Stars
166
Forks
105
Open issues
30
Contributors
AI Analysis
Tokio-console is a diagnostic and debugging tool for asynchronous Rust programs, specifically targeting applications built with Tokio and tracing. It provides an interactive CLI that displays task execution, timing, and resource usage similar to top(1) for OS processes. Best suited for Rust developers building async systems who need visibility into task behavior; not for general-purpose debugging or non-async Rust applications.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Tokio debugger providing task-level observability for async Rust; integrates with tracing ecosystem
Tokio-console is a diagnostic and debugging tool for async Rust applications, specifically designed for the Tokio runtime. It works as a gRPC-based wire protocol combined with a command-line TUI that displays real-time task state, similar to Unix top(1) for async tasks. Adoption appears concentrated within the Tokio ecosystem and organizations already using structured logging with tracing. The project is actively maintained by the Tokio team but has modest adoption metrics relative to its parent (Tokio itself).
Initiated in 2021 as part of the async Rust diagnostics initiative, building on a 2019 Google Summer of Code prototype. Positioned as part of the Tokio team's broader effort to improve debugging tooling for async Rust, alongside the async foundations working group's priorities for 2021+.
Repository gained 4,553 stars over ~5 years with relatively flat recent velocity (3 stars in last 7 days as of 2026-06-30). Growth appears to have plateaued after initial interest; suggests adoption has stabilized within a defined niche rather than expanding broadly. Last push 2026-06-30 indicates ongoing maintenance but not acceleration.
Adoption not verified. README provides screenshots and API documentation links but does not cite production deployments, organization use cases, or download metrics. Presence on crates.io and Discord community channel suggests some usage, but scale is not quantified. No public case studies or adoption testimonials evident.
Based on README, appears to use a three-part architecture: (1) gRPC wire protocol with protobuf definitions for streaming diagnostic data, (2) instrumentation layer as a tracing-subscriber Layer for data collection, (3) CLI client consuming the gRPC stream. Likely decoupled to allow third-party tool implementations. No information available on error handling, resource limits, or performance characteristics from README alone.
Not documented in README. Build status badge present but no explicit test coverage metrics provided.
Last commit 2026-06-30 (8 days before analysis date) shows active maintenance. CI workflows referenced but without visibility into failure rates or PR velocity. Appears to be maintained by Tokio team but at sustainable rather than high velocity. No evidence of abandonment or degradation.
ADOPT IF: you are debugging Tokio-based applications where task-level scheduling and concurrency behavior are the primary bottleneck, and you already use tracing for instrumentation. AVOID IF: your codebase is not Tokio-based, or you need production monitoring at scale (console is designed for development/debugging, not persistent observability backends). MONITOR IF: you are evaluating async Rust debugging strategies or building observability infrastructure; console demonstrates viable patterns but adoption has not yet expanded significantly beyond early adopters.
Independent dimensions
Mainstream potential
4/10
Technical importance
7/10
Adoption evidence
2/10
- Adoption appears limited to Tokio ecosystem; not a tool for non-Tokio async runtimes (async-std, embassy, etc.).
- Requires `tokio_unstable` cfg flag and specific tracing configuration, raising friction for greenfield adoption.
- CLI-only interface may limit appeal for teams preferring graphical or cloud-hosted dashboards; README acknowledges other implementations are 'possible' but not documented.
- Production signal scarcity suggests may remain niche; growth has not accelerated despite 5 years of availability.
- Dependency on tracing ecosystem means debugging requires pre-instrumentation; not useful for analyzing uninstrumented legacy code.
Likely to remain a specialized tool for Tokio teams doing performance investigation and async debugging. May see modest adoption growth if Tokio ecosystem expands or if third-party TUI/web frontends emerge. Unlikely to achieve mainstream adoption outside async-native development communities.
Explore similar
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- Rust
- License
- MIT
- Last updated
- 1w ago
- Created
- 63mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
RUSTSEC-2026-0204: Invalid pointer dereference in `fmt::Pointer` impl for `Atomic` and `Shared` when the underlying pointer is invalid
RUSTSEC-2026-0190: Unsoundness in `Error::downcast_mut()`
RUSTSEC-2026-0002: `IterMut` violates Stacked Borrows by invalidating internal pointer
RUSTSEC-2024-0436: paste - no longer maintained
Top contributors
Similar repos
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
4.6k | +4 | Rust | 8/10 | 1w ago |
|
|
32.5k | — | Rust | 9/10 | 3d ago |
|
|
6.8k | — | Rust | 8/10 | 1mo ago |
|
|
1.2k | — | Rust | 7/10 | 1w ago |
|
|
1.2k | — | Rust | 8/10 | 1mo ago |
|
|
4.7k | — | Rust | 8/10 | 5d ago |
Tracing is lower-level structured logging infrastructure (6,771 stars); tokio-console is a consumer of tracing data providing runtime visualization. Not a direct replacement; console depends on tracing being instrumented first.
Turmoil (1,212 stars) is a deterministic async testing tool; tokio-console is a runtime debugger. Different use cases: turmoil for testing, console for production/development observability.
Different project (1,175 stars) for terminal UI primitives; not a competitor despite name similarity.
General-purpose profilers provide CPU/memory/flame graphs; tokio-console provides task-level async state and scheduling data. Complementary rather than substitutable.
Organizations may build bespoke observability via tracing + Grafana/Datadog; tokio-console offers pre-built async-aware CLI. Trade-off: convenience vs. flexibility.

