Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, czym jest narzędzie profilowania Pprof i jak jest używane w rozwoju?

sobes.tech AI

Odpowiedź od AI

Pprof to narzędzie do profilowania zintegrowane z językiem Go, które pozwala na zbieranie i analizę danych dotyczących wydajności aplikacji, takich jak użycie CPU, pamięci, blokad i innych metryk.

Jak to używać:

  • W kodzie aplikacji importuje się pakiet net/http/pprof, który automatycznie rejestruje punkty końcowe HTTP do zbierania profili.
  • Aplikacja jest uruchamiana z włączonym pprof.
  • Za pomocą polecenia go tool pprof lub interfejsu webowego można połączyć się z aplikacją i uzyskać profile.

Przykład podłączenia pprof w Go:

import (
    "net/http"
    _ "net/http/pprof"
)

func main() {
    go func() {
        log.Println(http.ListenAndServe("localhost:6060", nil))
    }()
    // reszta kodu aplikacji
}

Po uruchomieniu można uzyskać profil CPU poleceniem:

go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30

Pprof pomaga wykrywać wąskie gardła w wydajności i optymalizować aplikację.