Пакет net/http/pprof предоставляет обработчики HTTP для данных профилирования.
Импортируйте его:
go
Запустите HTTP-сервер в отдельной горутине:
go
Теперь вы можете получить доступ к данным профилирования по адресу http://localhost:6060/debug/pprof/.
Основные доступные эндпоинты:
/debug/pprof/: Главная страница со списком доступных профилей./debug/pprof/heap: Профиль кучи./debug/pprof/goroutine: Профиль активных горутин./debug/pprof/block: Профиль блокировок./debug/pprof/threadcreate: Профиль создания потоков ОС./debug/pprof/cmdline: Командная строка приложения./debug/pprof/profile: Профиль CPU (по умолчанию собирает данные 30 секунд)./debug/pprof/trace: Профиль трассировки выполнения (по умолчанию собирает данные 1 секунду).Для анализа профилей CPU, кучи и блокировок обычно используется утилита go tool pprof:
bash
Для анализа трассировки выполнения используется утилита go tool trace:
bash
Важно: Помните о безопасности и не открывайте порт с pprof наружу без авторизации в продакшене.