ipfs/kubo

Add goroutine leak profile to `ipfs diag profile`

Open

#11 191 ouverte le 10 févr. 2026

Voir sur GitHub
 (2 commentaires) (0 réactions) (0 assignés)Go (2 725 forks)batch import
P1effort/hourshelp wantedkind/enhancement

Métriques du dépôt

Stars
 (13 906 stars)
Métriques de merge PR
 (Merge moyen 4j 2h) (28 PRs mergées en 30 j)

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

Guide contributeur