ipfs/kubo

Add goroutine leak profile to `ipfs diag profile`

Open

#11,191 建立於 2026年2月10日

在 GitHub 查看
 (2 留言) (0 反應) (0 負責人)Go (2,725 fork)batch import
P1effort/hourshelp wantedkind/enhancement

倉庫指標

Star
 (13,906 star)
PR 合併指標
 (平均合併 4天 2小時) (30 天內合併 28 個 PR)

描述

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

貢獻者指南