Profile Go kasama si Pprof

Profile Go Kasama Si Pprof



Sa Linux operating system, ang GO ecosystem ay nag-aalok ng malaking hanay ng mga tool at SPI para masuri ang mga isyu sa performance at logic sa GO program. Isa sa mga diagnostic solution ay ang GO profiling. Ang function ng GO profiling ay upang pag-aralan ang isang GO program sa mga tuntunin ng gastos, paggamit ng memorya, at madalas na mga function na tawag upang malaman ang pinakamahal na seksyon ng programa. Ipinapakita ng page na ito ang paggamit ng pprof package upang maisagawa ang GO profiling sa loob ng ilang segundo. Dito, tutuklasin natin ang pprof function sa pag-profile ng isang GO program. Magsimula tayo!

Ano ang isang Pprof Package sa Linux

Ang pprof package sa Linux operating system ay isang profileing tool na ginagamit upang isulat ang runtime profiling data sa kinakailangang format sa tulong ng pprof visualization tool. Ito ay nagsisilbi sa pamamagitan ng isang HTTP server para sa runtime profiling data, at ito ay kadalasang na-import para sa mga side effect ng pagrehistro ng mga HTTP handlers nito. Ang lahat ng mga handle path ng pprof command ay nagsisimula sa /debug/pprof/ na sinusundan ng isang partikular na command.

Paano I-install ang Pprof Package para sa GO Profiling sa Ubuntu 22.04 System

Kung naghahanap ka ng mabilis na proseso ng pag-install ng profiling in go, ngunit ang lahat ay masalimuot, hayaan nating sundin ang sumusunod na proseso. Kailangan mong sundin ang ilang hakbang para i-install ang pprof sa Ubuntu 22.04 system. Narito ang mga hakbang na iyon:







Una, kailangan nating i-install ang lahat ng mga dependency upang ang ppof package ay hindi mauwi sa paghinto. Una, i-install ang dependency ng Graphviz gamit ang sumusunod na command:





Siguraduhing gamitin ang 'sudo' upang bigyan ang root privilege. Kung hindi, maaaring hindi ka payagan ng system na mag-install ng anumang package. Tingnan ang sumusunod na output:







Ngayon, ang system ay may mga dependencies para sa pprof package. Pinapayagan ka nitong i-install ang ppof package. Gamitin ang command na 'go get' para makuha ang pprof mula sa GitHub. Narito ang utos:

Kung wala kang paunang naka-install na command na 'go', kakailanganin mong partikular na i-install ito upang magamit ito. Walang naka-install na command na 'go' sa aming system, kaya nakuha namin ang resultang 'command not found'. Tingnan ang sumusunod na output:

I-install muna ang 'go' package at pagkatapos ay gamitin ito para makuha ang ppof package mula sa GitHub. Gaya ng nakikita mo sa nakaraang screenshot, mayroon kaming tatlong magkakaibang opsyon para i-install ang package na 'go', para magamit namin ang alinman sa mga ito. Lahat ay nagbibigay ng parehong resulta na may bahagyang magkakaibang mga tampok. Gayunpaman, ginagamit namin ang command na 'sudo apt install golang-go' para i-install ang bersyon ng package na 'go' na '2:1.18~0ubuntu2'. Isagawa ang sumusunod na utos:

Binibigyang-daan ka nitong i-install ang package na 'go' pati na rin ang lahat ng mga dependency nito at mga nauugnay na library. Tingnan ang sumusunod na output:

Ngayon, pumunta sa GitHub repository at i-install ang pprof package. Ang pprof package ay isang tool na ginagamit para sa pagsusuri at visualization ng profile ng data, ngunit hindi ito isang opisyal na produkto ng google. Ito ang dahilan kung bakit maaari mong gamitin ang GitHub repository at manu-manong i-install ang pprof package gamit ang command na 'go'. Tiyaking natutugunan ng iyong system ang lahat ng pangangailangan ng mga kinakailangan bago mo simulan ang “go install github.com/google/ [email protektado] ” utos. Ang mga kinakailangan ay isang 'go' development kit ng isang sinusuportahang bersyon at isang graphviz application upang makabuo ng graphic visualization ng mga profile. Ang Graphviz application ay opsyonal, kaya maaari mong laktawan ito kung gusto mo. Dahil pareho kaming nag-install at naghanda ng platform para sa pprof package, handa na ang aming system na i-install ito. Hayaan kaming makakuha ng access sa GitHub repository upang simulan ang proseso ng pag-install. Tingnan ang sumusunod na utos:

Ang command na ito ay papunta sa “github.com/google/ [email protektado] ” address. I-install ang mga pprof packages mula sa GitHub repository. Tingnan ang sumusunod na resulta:

Na-download ng command na 'go' ang package at ito ay na-install sa Ubuntu 22.04 system nang sunud-sunod. Ang binary ay naka-install bilang default sa lokasyon ng $HOME/go/bin.

Ipakita ang Manual na Pahina ng Pprof

Ngayon, suriin ang manu-manong pahina ng pprof upang makuha ang mga detalye ng pakete ng pprof. Ang manu-manong pahina ay naglalaman ng lahat ng mga opsyon para sa pprof package na may maikling detalye ng bawat isa. Nagbibigay-daan ito sa iyong makilala ang bawat opsyon ng pprof at gamitin ang mga ito sa iyong mga code nang madali. Bukod dito, sa tuwing kailangan mo, maaari kang sumangguni pabalik sa manu-manong pahina gamit ang –help flag. Narito kung paano mo ito magagawa:

Ipinapakita nito ang kumpletong manual page sa iyong terminal. Tingnan ang sumusunod:

Tulad ng nakikita mo, maraming mga pagpipilian na magagamit para sa utos ng pprof. Maaari mong gamitin ang alinman sa mga ito upang makuha ang kinakailangang naka-format na data ng pag-profile.

Gamitin ang Pprof para sa Pag-profile ng Data

Para magamit ang pprof sa iyong program, i-import muna ang pprof package. Gamitin ang sumusunod na command para i-import ang ppof package:

Bago mo simulan ang pag-import, siguraduhin na ang application ay nagpapatakbo na ng isang HTTP server. Kung wala kang anumang HTTP server application server na tumatakbo, dapat kang magsimula ng isa sa pamamagitan ng pagdaragdag ng “net/http” at “log” sa pag-import at idagdag ang sumusunod na code:

Ngayon, maaari mong gamitin ang pprof command upang tingnan ang heap profile. Ang sumusunod na command ay ginagamit upang suriin ang heap profile ng http://localhost:

Nagsisimula itong hanapin ang profile at sinusubukang kumonekta sa http server. Tingnan ang sumusunod na tugon:

Sa pamamagitan ng pagsunod sa parehong pamamaraan, maaari kang tumingin sa isang 30-segundong CPU profile, isang goroutine blocking profile, mga may hawak ng contended mutexes, atbp.

Konklusyon

Ang manual na ito ay isang mabilis na walkthrough ng isang pprof command na ginamit sa Ubuntu 22.04 operating system. Ginalugad namin kung ano ang pprof command sa Linux system. At natutunan namin kung paano i-install ito sa aming Ubuntu 22.04 system. Nalaman din namin ang tungkol sa iba't ibang opsyon na magagamit para sa pprof package sa Linux operating system. Ang pangunahing function ng ppof package ay maghatid sa pamamagitan ng isang HTTP server para sa runtime profiling data habang nagbibigay ng profiled data sa isang kinakailangang format sa pamamagitan ng pprof visualization tool. Nagbibigay-daan ito sa iyong i-profile ang GO sa loob lamang ng 30 segundo.