ipfs/kubo

Add goroutine leak profile to `ipfs diag profile`

Open

#11.191 aberto em 10 de fev. de 2026

Ver no GitHub
 (2 comments) (0 reactions) (0 assignees)Go (2.725 forks)batch import
P1effort/hourshelp wantedkind/enhancement

Métricas do repositório

Stars
 (13.906 stars)
Métricas de merge de PR
 (Mesclagem média 4d 2h) (28 fundiu PRs em 30d)

Description

Go 1.26 ships an experimental goroutine leak profiler (GOEXPERIMENT=goroutineleakprofile). It detects goroutines blocked on channels, mutexes, or conditions that can never unblock, using GC reachability analysis. Zero runtime overhead unless actively collecting.

Available at /debug/pprof/goroutineleak when enabled.

Proposal

Once 1.27 ships with it enabled by default:

  • Add a goroutine-leak collector to ipfs diag profile --collectors (gated on the experiment being available at runtime)
  • Expose it via the existing /debug/pprof/ endpoint on the API port

This would help diagnose daemon goroutine leaks without external tooling. Useful for long-running nodes where leaked goroutines accumulate over time.

References

Guia do colaborador