Как найти goroutine leak?

Middle+
309 просмотров
AFK Offer AI

Мониторишь runtime.NumGoroutine() — если число растёт и не падает, есть утечка. Через pprof goroutine profile смотришь, где они застряли — обычно видно стек вызовов с блокировкой на канале или мьютексе. Типичные причины: забыл закрыть канал, HTTP body не закрыт, тикер не остановлен. Для тестов используй goleak от Uber — он ловит горутины, которые не завершились после теста.

Следующий вопрос

Как писать commit message?