Как работает pprof?

Middle
1.1k просмотров
AFK Offer AI

pprof — встроенный профайлер Go для анализа CPU, памяти, горутин и блокировок. Подключаешь net/http/pprof — и получаешь HTTP-эндпоинты для сбора профилей прямо из работающего приложения.

import _ "net/http/pprof"
go http.ListenAndServe(":6060", nil)

Дальше собираешь профиль: go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30. Внутри интерактивной консоли команды top, list, web (граф в браузере). Для памяти — /debug/pprof/heap, для горутин — /debug/pprof/goroutine. На проде обычно держат pprof на отдельном порту, закрытом от внешнего доступа.

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

Чем отличается буферизованный канал от небуферизованного?