A terminal-based goroutine monitor that visualizes active goroutines using pprof and termui.
Roumon is a command-line tool that monitors and visualizes goroutines in Go applications in real-time. It connects to an application's pprof HTTP server to fetch live data and displays it through an interactive terminal interface, helping developers debug concurrency issues and understand goroutine behavior.
Go developers and engineers who need to monitor, debug, and optimize concurrent applications, especially those dealing with high levels of goroutine activity or performance bottlenecks.
Roumon offers a lightweight, terminal-native alternative to web-based profiling tools, providing immediate insights without leaving the command line. Its integration with pprof and dynamic TUI makes goroutine monitoring more accessible and interactive compared to manual pprof inspection.
Universal goroutine monitor using pprof and termui
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides live tracking of all active goroutines with state breakdowns, enabling immediate detection of leaks or spikes, as shown in the dynamic history and state overview features.
Built with termui, it offers a seamless, keyboard-navigable interface directly in the shell, making monitoring accessible without switching to a browser or external tool.
Connects to Go's standard pprof HTTP server with minimal setup—just import pprof and run a web server—leveraging existing profiling infrastructure for quick adoption.
Displays a real-time graph of goroutine count over time, helping identify trends and patterns in concurrency behavior, as highlighted in the features list.
The monitored application must run an HTTP server with pprof enabled, adding performance overhead and configuration complexity, especially in production where exposing debug endpoints can be risky.
As a TUI tool, it lacks web-based or remote access, restricting use to local machines or SSH sessions and making it unsuitable for shared dashboards or cloud-native environments.
Focuses on visualization without built-in features for setting thresholds, sending notifications, or exporting data, requiring manual intervention for proactive monitoring and analysis.