Непрерывное профилирование в Go
7 мин
pprof — основной инструмент профилирования в Go. Профилировщик включен в стандартную библиотеку Go и про него, за годы, написано уже очень много. Чтобы подключить pprof в существующее приложение нужно просто добавить одну строчку кода:
import _ “net/http/pprof”В HTTP-сервере по-умолчанию — net/http.DefaultServeMux — по пути /debug/pprof/ будут зарегистрированы обработчики, отдающие результаты профилирования.
curl -o cpu-profile.pb.gz http://<server-addr>/debug/pprof/profile(подробнее см. https://godoc.org/net/http/pprof)
Но по опыту, не всегда все так просто и на практике с использованием pprof в бою, есть подводные камни.