Middle
Go tətbiqinizə standart profileri necə daxil etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
net/http/pprof paketi, profil məlumatları üçün HTTP işləyiciləri təmin edir.
Onu idxal edin:
import (
"net/http"
_ "net/http/pprof" // Effektli təsir üçün '_' istifadə etmək vacibdir
)
Ayrı bir goroutine-də HTTP serverini başladın:
go func() {
// Lokal ünvan və standart pprof portunda serveri işə salın
if err := http.ListenAndServe("localhost:6060", nil); err != nil {
// Serverin başlaması zamanı xətanı idarə edin, məsələn, qeyd edin
// log.Printf("pprof serveri uğursuz oldu: %v", err)
}
}()
İndi profil məlumatlarına http://localhost:6060/debug/pprof/ ünvanından daxil ola bilərsiniz.
Əsas mövcud son nöqtələr:
/debug/pprof/: Mövcud profillərin siyahısı ilə əsas səhifə./debug/pprof/heap: Yığım profili./debug/pprof/goroutine: Aktiv goroutine-lərin profili./debug/pprof/block: Bloklamaların profili./debug/pprof/threadcreate: Əməliyyat sisteminin thread yaradılması profili./debug/pprof/cmdline: Tətbiqin komanda xətti./debug/pprof/profile: CPU profili (varsayılan olaraq 30 saniyə məlumat toplayır)./debug/pprof/trace: İcra izləmə profili (varsayılan olaraq 1 saniyə məlumat toplayır).
CPU, yığım və bloklama profillərini analiz etmək üçün adətən go tool pprof vasitəsi istifadə olunur:
go tool pprof http://localhost:6060/debug/pprof/profile # 30 saniyəlik CPU profili
go tool pprof http://localhost:6060/debug/pprof/heap # Yığım profili
İcra izləməsini analiz etmək üçün go tool trace vasitəsi istifadə olunur:
go tool trace http://localhost:6060/debug/pprof/trace
Vacib: Təhlükəsizliyi unutmayın və prodakşnədə pprof portunu icazəsiz açmayın.