Middle+
Opowiedz o pakiecie pprof
sobes.tech AI
Odpowiedź od AI
pprof to pakiet w Go, przeznaczony do profilowania wydajności programów. Umożliwia zbieranie i analizę danych dotyczących zużycia CPU, pamięci, blokad i innych zasobów podczas działania aplikacji.
Główne funkcje pprof:
- Zbieranie profili CPU, pamięci (heap), blokad i gorutyn.
- Wizualizacja profili w postaci wykresów wywołań, flame graphs i innych formatów.
- Integracja z serwerem HTTP do dynamicznego profilowania działającej aplikacji.
Przykład użycia:
import (
"net/http"
_ "net/http/pprof"
)
func main() {
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
// główny kod aplikacji
}
Po uruchomieniu aplikacji można otworzyć przeglądarkę pod adresem http://localhost:6060/debug/pprof/ i obejrzeć profile.
Możesz także zbierać profile za pomocą polecenia:
ngo tool pprof http://localhost:6060/debug/pprof/profile?seconds=30
pprof pomaga wykrywać wąskie gardła wydajności i optymalizować kod.