Visualize real-time Go runtime metrics like heap, goroutines, and GC pauses via a web-based dashboard.
Statsviz is a Go library that visualizes runtime metrics in real time through an interactive web dashboard. It collects data from the Go runtime's metrics system and streams it to a browser, displaying plots for heap, objects, goroutines, GC pauses, scheduler activity, and more. It helps developers monitor and debug the performance of their Go applications live.
Go developers who need to monitor, profile, or debug the runtime behavior of their applications, especially those working on performance-sensitive services or long-running processes.
Developers choose Statsviz for its ease of integration, real-time visualization, and comprehensive coverage of Go runtime metrics without requiring external monitoring services. Its embeddable nature and framework-agnostic design make it a lightweight, immediate tool for runtime introspection.
Visualise Go runtime metrics in real time
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Streams live Go runtime metrics like heap usage and GC pauses directly to a browser via WebSocket, updated every second for immediate visualization.
Works seamlessly with standard net/http and popular frameworks like Gin and Echo through simple handler methods, as shown in the extensive examples directory.
Provides a web interface with category filtering, time range selection, and GC event toggling, allowing detailed, customizable analysis of metrics.
Enables adding user-defined plots to visualize application-specific metrics alongside runtime data, enhancing flexibility for tailored monitoring.
Metrics are streamed live without storage, so historical analysis or offline review is impossible, limiting long-term debugging.
Requires exposing an HTTP endpoint, which can introduce security risks or be unsuitable for applications without web servers.
Some plots are only available in newer Go versions, as noted in the README, leading to inconsistent experiences across environments.