Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/moderato-app/live-pprof

Monitor Go app's performance in seconds, not a day.
https://github.com/moderato-app/live-pprof

development go grafana local monitor perfomance pprof prometheus

Last synced: 4 days ago
JSON representation

Monitor Go app's performance in seconds, not a day.

Awesome Lists containing this project

README

        

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

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

## Usage

#### Step 1: setup pprof endpoints

```bash
package main

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

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

#### Step 2: monitor the pprof endpoints

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

## Limitations
* Metrics data is stored in the browser memory and is cleared on page refresh.
* The page slows down as data grows due to charts rendering.

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](https://golangweekly.com/latest) for the shoutout!