tokio-rs

tokio-rs/console

Rust MIT Dev Tools

a debugger for async rust!

4.6k stars
166 forks
recent
GitHub +4 / week

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.

Dev Tools Developer Tool Discovery value: 5/10
Documentation 8/10
Activity 9/10
Community 8/10
Code quality 7/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

async-debugging tokio-ecosystem observability rust-tools diagnostics
Actively maintained Well documented MIT licensed Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
2d ago

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).

Origin

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+.

Growth

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.

In production

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.

Code analysis
Architecture

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.

Tests

Not documented in README. Build status badge present but no explicit test coverage metrics provided.

Maintenance

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.

Honest verdict

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

Risks
  • 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.
Prediction

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.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Rust
82.5%
TypeScript
16.2%
Nix
0.9%
CSS
0.2%
JavaScript
0.1%
HTML
0%
Shell
0%

Information

Language
Rust
License
MIT
Last updated
1w ago
Created
63mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

tokio-rs

tokio-rs/tokio

Tokio is a production-grade async runtime for Rust that provides the core I/O,...

32.5k Rust Dev Tools
tokio-rs

tokio-rs/tracing

Tracing is a structured, application-level diagnostics framework for Rust that...

6.8k Rust Dev Tools
console-rs

console-rs/console

console is a Rust library providing terminal abstraction and text formatting...

1.2k Rust Dev Tools
tokio-rs

tokio-rs/turmoil

Turmoil is a deterministic simulation testing framework for distributed systems...

1.2k Rust Dev Tools
tokio-rs

tokio-rs/prost

PROST is a Protocol Buffers implementation for Rust that generates idiomatic,...

4.7k Rust Dev Tools
vs. alternatives
tokio-rs/tracing

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.

tokio-rs/turmoil

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.

console-rs/console (unrelated)

Different project (1,175 stars) for terminal UI primitives; not a competitor despite name similarity.

System profilers (pprof, Instruments, perf)

General-purpose profilers provide CPU/memory/flame graphs; tokio-console provides task-level async state and scheduling data. Complementary rather than substitutable.

Custom tracing + logging dashboards

Organizations may build bespoke observability via tracing + Grafana/Datadog; tokio-console offers pre-built async-aware CLI. Trade-off: convenience vs. flexibility.