moderato-app / live-pprof

Monitor Go app's performance in seconds, not a day.
280 stars 5 forks source link
development go grafana local monitor perfomance pprof prometheus

You don’t want to clutter up your computer with Docker, Prometheus, Grafana or even K8S just to monitor a Go app's heap size, right?

Use live-pprof to Monitor a Go app's performance. It launches in seconds, boosting your local development.

Xnip2024-09-10_04-58-57

https://github.com/user-attachments/assets/77bfacd8-1779-4aaf-9758-9604362a1eb5

Screenshots
Heap CPU Allocs Goroutine Detect Endpoints Options

Install

go install github.com/moderato-app/live-pprof@v1

Usage

Step 1: setup pprof endpoints

package main

import (
    "log"
    "net/http"
    _ "net/http/pprof"
)

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

Step 2: monitor the pprof endpoints

live-pprof 6060 
# Or:
live-pprof http://localhost:6060/debug/pprof
# Both commands will monitor http://localhost:6060/debug/pprof

Limitations

As you can see, live-pprof is mainly for local development. These limitations mean it’s not a replacement for Prometheus and Grafana.

Credits

image

Thanks to Golang Weekly for the shoutout!