whatisgithub

What is statsviz?

arl/statsviz — explained in plain English

Analysis updated 2026-05-18

3,635GoAudience · developerComplexity · 2/5Setup · easy

In one sentence

A Go library that adds a live, real-time browser dashboard showing memory, goroutines, and garbage collection inside your running program.

Mindmap

mindmap
  root((statsviz))
    What it does
      Live runtime dashboard
      Real time charts
      Websocket streaming
    Tech stack
      Go
      HTTP endpoints
      Websockets
    Use cases
      Debug memory leaks
      Watch goroutine counts
      Monitor GC pauses
    Audience
      Go developers
      Ops and devops
      Backend engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Watch a running Go server's memory and goroutine counts in real time to catch leaks early.

USE CASE 2

Diagnose garbage collection pauses that are slowing down a production Go application.

USE CASE 3

Add a live health dashboard to a Go service without setting up an external monitoring stack.

USE CASE 4

Send custom application metrics into the same dashboard alongside the built-in runtime charts.

What is it built with?

GoWebSocketsHTTP

How does it compare?

arl/statsvizjohanneskaufmann/html-to-markdownspegel-org/spegel
Stars3,6353,6363,634
LanguageGoGoGo
Setup difficultyeasyeasymoderate
Complexity2/52/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

So what is it?

Statsviz is a library for Go programs that adds a live dashboard showing what the program is doing internally while it runs. You add a few lines of code to your application, open a URL in a browser, and see a set of real-time charts that update every second without any manual instrumentation. The charts cover the internal health of a running Go program: how much memory is allocated on the heap, how many objects are alive, how many goroutines are active, how often the garbage collector runs and how long its pauses last, how the CPU is split between your application code and the runtime's own housekeeping work, and more. Goroutines are a core Go concept for running concurrent tasks, the garbage collector is the automatic memory cleanup system built into Go. If either of these starts misbehaving, it often shows up in the charts before it causes visible problems. The technical setup is simple. Statsviz registers two HTTP endpoints alongside your existing server: one serves the dashboard web page and the other is a websocket connection that streams the metrics. When you open the dashboard, your browser connects to the websocket and starts receiving data points. Everything runs inside your own program on your own machine or server, so no external service is involved. The dashboard UI lets you filter charts by category, adjust how much time history is shown, toggle visibility of garbage collection events on the timeline, and pause the live feed if you want to examine a specific moment. You can also define your own custom plots and send your application's own data into the same dashboard. The library works with most Go HTTP frameworks and can be placed behind authentication middleware or served at a custom path if the default location does not fit your setup. The repository includes working examples for several popular frameworks.

Copy-paste prompts

Prompt 1
Show me how to add statsviz to an existing Go HTTP server and open the live dashboard in a browser.
Prompt 2
Explain what the goroutine count and garbage collection charts in statsviz can tell me about my Go program's health.
Prompt 3
How do I place the statsviz dashboard behind authentication middleware and serve it at a custom path?
Prompt 4
Show me how to send a custom metric from my Go application into the statsviz dashboard as its own plot.

Frequently asked questions

What is statsviz?

A Go library that adds a live, real-time browser dashboard showing memory, goroutines, and garbage collection inside your running program.

What language is statsviz written in?

Mainly Go. The stack also includes Go, WebSockets, HTTP.

How hard is statsviz to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is statsviz for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.