Сейчас я профиль Go приложения с помощью Go инструмента pprof как это:идут инструмент pprof с помощью приложения PID вместо HTTP конечной
go tool pprof http://localhost:8080/debug/pprof/profile
Я хочу использовать инструмент pprof на произвольный процесс Go, который работает под управлением http-сервер на неизвестном порту. Единственная информация о процессе - это PID. Мне нужно сделать одну из двух вещей:
- Get the Go обрабатывает номер порта из своего PID.
- Профилируйте текущий процесс напрямую. Например, что-то вроде
go tool pprof 10303
, где ПИД-код 10303.
Будет ли это работать?
На самом деле это не то, что я ищу. Я хочу профилировать произвольный процесс Go (не обязательно тот, который я создаю). –
вы не должны знать, как работает pprof. вы не можете профилировать процесс go, если нет встроенного pprof-сервера. означает, что вы не можете профилировать произвольный процесс Go. –
Я знаю, что процесс предоставляет конечную точку pprof. Я хочу найти локальный порт, на котором выполняется этот процесс. Ваше предложение возможно, но мне потребуется изменить код многих приложений Go. –