Senior
29
Go тілінде қандай профилирлеу құралдары бар?
Сұралған компаниялар
Lenta Tech
AI-дан жауап
sobes.tech AI
В Go для профилирования приложений используется пакет net/http/pprof, который позволяет собирать данные о CPU, памяти, блокировках и горутинах. Его можно подключить к HTTP-серверу, и затем через стандартный интерфейс получить профили.
Также есть инструмент go tool pprof для анализа собранных профилей.
Пример подключения pprof в коде:
import (
"net/http"
_ "net/http/pprof"
)
func main() {
go func() {
http.ListenAndServe(":6060", nil) // Профилирование доступно по http://localhost:6060/debug/pprof/
}()
// основной код приложения
}
Для анализа профиля CPU:
go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30
Кроме того, существуют сторонние инструменты, например, pprof визуализатор, go-torch для flamegraph, и интеграции с системами мониторинга (Prometheus, Grafana).