Sobes.tech
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.