Skip to content
/ statsviz Public
forked from arl/statsviz

Instant live visualization of your Go application runtime statistics (GC, MemStats, etc.) in the browser 🚀

License

Notifications You must be signed in to change notification settings

x-mod/statsviz

 
 

Repository files navigation

go.dev reference Go Report Card

Statsviz

Instant live visualization of your Go application runtime statistics (GC, MemStats, etc.).

  • Import import "github.com/arl/statsviz"
  • Register statsviz HTTP handlers
  • Start your program
  • Open your browser at http://host:port/debug/statsviz
  • Enjoy...

Usage

go get -u github.com/arl/statsviz

Either Register statsviz HTTP handlers with the http.ServeMux you're using (preferred method):

	mux := http.NewServeMux()
	statsviz.Register(mux)

Or register them with the http.DefaultServeMux:

	statsviz.RegisterDefault()

If your application is not already running an HTTP server, you need to start one. Add "net/http" and "log" to your imports and the following code to your main function:

go func() {
    log.Println(http.ListenAndServe("localhost:6060", nil))
}()

The handled path is /debug/statsviz/.

Then open your browser at http://localhost:6060/debug/statsviz/

Examples

Using http.DefaultServeMux:

Using your own http.ServeMux:

Using gorilla/mux Router:

Plots

On the plots where it matters, garbage collections are shown as vertical lines.

Heap

Heap plot image

MSpans / MCaches

MSpan/MCache plot image

Size classes heatmap

Size classes heatmap image

Objects

Objects plot image

Goroutines

Goroutines plot image

GC/CPU fraction

GC/CPU fraction plot image

Contributing

Pull-requests are welcome! More details in CONTRIBUTING.md

License

About

Instant live visualization of your Go application runtime statistics (GC, MemStats, etc.) in the browser 🚀

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 87.0%
  • JavaScript 10.9%
  • HTML 1.8%
  • Other 0.3%