Profil Go s Pprof

Profil Go S Pprof



V operačnom systéme Linux ponúka ekosystém GO veľkú sadu nástrojov a SPI na diagnostiku problémov s výkonom a logikou v programe GO. Jedným z diagnostických riešení je profilovanie GO. Funkciou profilovania GO je analyzovať program GO z hľadiska nákladov, využitia pamäte a častých volaní funkcií, aby sa zistila najdrahšia časť programu. Táto stránka ukazuje použitie balíka pprof na vykonanie profilovania GO v priebehu niekoľkých sekúnd. Tu preskúmame funkciu pprof na profilovanie programu GO. Poďme začať!

Čo je balík Pprof v systéme Linux

Balík pprof v operačnom systéme Linux je profilovací nástroj, ktorý sa používa na zapisovanie profilovacích údajov za behu v požadovanom formáte pomocou vizualizačného nástroja pprof. Slúži cez HTTP server pre runtime profilovacie dáta a väčšinou sa importuje pre vedľajšie efekty registrácie jeho HTTP handlerov. Všetky cesty rukoväte príkazu pprof začínajú /debug/pprof/, za ktorým nasleduje určitý príkaz.

Ako nainštalovať balík Pprof pre profilovanie GO v systéme Ubuntu 22.04

Ak hľadáte rýchly inštalačný proces profilovania v chode, ale všetko je ťažkopádne, postupujte podľa nasledujúceho postupu. Ak chcete nainštalovať pprof v systéme Ubuntu 22.04, musíte vykonať niekoľko krokov. Tu sú tieto kroky:







Najprv musíme nainštalovať všetky závislosti, aby sa balík pprof nezastavil. Najprv nainštalujte závislosť Graphviz pomocou nasledujúceho príkazu:





Uistite sa, že používate „sudo“ na udelenie oprávnenia root. V opačnom prípade vám systém nemusí povoliť inštaláciu žiadneho balíka. Pozrite si nasledujúci výstup:







Teraz má systém závislosti pre balík pprof. Umožňuje vám nainštalovať balík pprof. Použite príkaz „go get“ na získanie pprof z GitHubu. Tu je príkaz:

Ak nemáte predinštalovaný príkaz „go“, budete ho musieť špeciálne nainštalovať, aby ste ho mohli používať. Náš systém nemal nainštalovaný príkaz „go“, takže sme dostali výsledok „príkaz nenájdený“. Pozrite si nasledujúci výstup:

Najprv nainštalujte balík „go“ a potom ho použite na získanie balíka pprof z GitHubu. Ako môžete vidieť na predchádzajúcej snímke obrazovky, máme tri rôzne možnosti inštalácie balíka „go“, takže môžeme použiť ktorúkoľvek z nich. Všetky poskytujú rovnaký výsledok s mierne odlišnými vlastnosťami. Používame však príkaz „sudo apt install golang-go“ na inštaláciu verzie balíka „go“ „2:1.18~0ubuntu2“. Vykonajte nasledujúci príkaz:

To vám umožní nainštalovať balík „go“, ako aj všetky jeho závislosti a relevantné knižnice. Pozrite si nasledujúci výstup:

Teraz prejdite do úložiska GitHub a nainštalujte balík pprof. Balík pprof je nástroj používaný na analýzu a vizualizáciu profilovacích údajov, nie je to však oficiálny produkt Google. To je dôvod, prečo môžete využiť úložisko GitHub a manuálne nainštalovať balík pprof pomocou príkazu „go“. Pred spustením „go install github.com/google/“ sa uistite, že váš systém spĺňa všetky požiadavky. [e-mail chránený] “príkaz. Predpokladom je „go“ vývojový kit podporovanej verzie a aplikácia graphviz na generovanie grafickej vizualizácie profilov. Aplikácia Graphviz je voliteľná, takže ak chcete, môžete ju preskočiť. Keďže sme nainštalovali oba a pripravili platformu pre balík pprof, náš systém je pripravený na jeho inštaláciu. Dovoľte nám získať prístup k úložisku GitHub na spustenie procesu inštalácie. Pozrite si nasledujúci príkaz:

Tento príkaz prejde na „github.com/google/ [e-mail chránený] “adresa. Nainštalujte balíky pprof z úložiska GitHub. Pozrite si nasledujúci výsledok:

Príkaz „go“ stiahol balík a postupne sa inštaluje do systému Ubuntu 22.04. Binárny súbor je štandardne nainštalovaný v umiestnení $HOME/go/bin.

Zobrazte manuálovú stránku Pprof

Teraz si pozrite manuálovú stránku pprof, kde nájdete podrobnosti o balíku pprof. Manuál obsahuje všetky možnosti balíka pprof s krátkym detailom každého z nich. To vám umožní spoznať každú možnosť pprof a ľahko ich použiť vo svojich kódoch. Navyše, kedykoľvek budete potrebovať, môžete sa vrátiť späť na manuálovú stránku pomocou príznaku –help. Môžete to urobiť takto:

Tým sa zobrazí kompletná manuálová stránka na vašom termináli. Pozrite sa na nasledujúce:

Ako vidíte, pre príkaz pprof je k dispozícii veľa možností. Ktorýkoľvek z nich môžete použiť na získanie požadovaných formátovaných profilovacích údajov.

Na profilovanie údajov použite Pprof

Ak chcete použiť pprof vo svojom programe, najprv importujte balík pprof. Na import balíka pprof použite nasledujúci príkaz:

Pred spustením importu sa uistite, že aplikácia už beží na serveri HTTP. Ak nemáte spustený žiadny aplikačný server HTTP servera, mali by ste ho spustiť pridaním „net/http“ a „log“ do importu a pridať nasledujúci kód:

Teraz môžete použiť príkaz pprof na zobrazenie profilu haldy. Nasledujúci príkaz sa používa na kontrolu profilu haldy http://localhost:

Toto začne hľadať profil a pokúsi sa pripojiť k serveru http. Pozrite si nasledujúcu odpoveď:

Rovnakým postupom sa môžete pozrieť na 30-sekundový profil CPU, profil blokovania goroutine, držiteľov sporných mutexov atď.

Záver

Táto príručka je rýchlym prehľadom príkazu pprof používaného v operačnom systéme Ubuntu 22.04. Skúmali sme, čo je príkaz pprof v systéme Linux. A naučili sme sa, ako ho nainštalovať do nášho systému Ubuntu 22.04. Dozvedeli sme sa tiež o rôznych možnostiach dostupných pre balík pprof v operačnom systéme Linux. Základnou funkciou balíka pprof je slúžiť cez HTTP server pre runtime profilovacie dáta a zároveň poskytovať profilované dáta v požadovanom formáte cez vizualizačný nástroj pprof. To vám umožní profilovať GO len za 30 sekúnd.