Profiel Ga met Pprof

Profiel Ga Met Pprof



In het Linux-besturingssysteem biedt het GO-ecosysteem een ​​groot aantal tools en SPI's om de prestatie- en logische problemen in het GO-programma te diagnosticeren. Een van de diagnostische oplossingen is GO-profilering. De functie van GO-profilering is om een ​​GO-programma te analyseren in termen van kosten, geheugengebruik en frequente functieaanroepen om het duurste gedeelte van het programma te achterhalen. Deze pagina demonstreert het gebruik van het pprof-pakket om de GO-profilering in een paar seconden uit te voeren. Hier zullen we de pprof-functie onderzoeken voor het profileren van een GO-programma. Laten we beginnen!

Wat is een Pprof-pakket in Linux?

Het pprof-pakket in het Linux-besturingssysteem is een profileringstool die wordt gebruikt om de runtime-profileringsgegevens in het vereiste formaat te schrijven met behulp van de pprof-visualisatietool. Het dient via een HTTP-server voor de runtime-profileringsgegevens en het wordt meestal geïmporteerd voor de bijwerkingen van het registreren van zijn HTTP-handlers. Alle handle-paden van het pprof-commando beginnen met het /debug/pprof/ gevolgd door een bepaald commando.

Hoe het Pprof-pakket voor GO-profilering in het Ubuntu 22.04-systeem te installeren?

Als u op zoek bent naar een snel installatieproces van profilering in go, maar alles is omslachtig, laat ons dan het volgende proces volgen. U moet enkele stappen volgen om de pprof in het Ubuntu 22.04-systeem te installeren. Dit zijn die stappen:







Eerst moeten we alle afhankelijkheden installeren zodat het pprof-pakket niet tot stilstand komt. Installeer eerst de Graphviz-afhankelijkheid met de volgende opdracht:





Zorg ervoor dat u 'sudo' gebruikt om het root-privilege te geven. Anders staat het systeem u mogelijk niet toe om een ​​pakket te installeren. Zie de volgende uitvoer:







Nu heeft het systeem de afhankelijkheden voor het pprof-pakket. Hiermee kunt u het pprof-pakket installeren. Gebruik de opdracht 'go get' om de pprof van GitHub te krijgen. Hier is de opdracht:

Als u de opdracht 'go' niet vooraf hebt geïnstalleerd, moet u deze specifiek installeren om deze te kunnen gebruiken. Ons systeem had de opdracht 'go' niet geïnstalleerd, dus we kregen het resultaat 'opdracht niet gevonden'. Zie de volgende uitvoer:

Installeer eerst het 'go' -pakket en gebruik het vervolgens om het pprof-pakket van GitHub te krijgen. Zoals je in de vorige schermafbeelding kunt zien, hebben we drie verschillende opties om het 'go' -pakket te installeren, zodat we ze allemaal kunnen gebruiken. Ze geven allemaal hetzelfde resultaat met iets andere kenmerken. We gebruiken echter de opdracht 'sudo apt install golang-go' om de 'go'-pakketversie '2:1.18~0ubuntu2' te installeren. Voer de volgende opdracht uit:

Hiermee kunt u het 'go' -pakket installeren, evenals alle afhankelijkheden en relevante bibliotheken. Zie de volgende uitvoer:

Ga nu naar de GitHub-repository en installeer het pprof-pakket. Een pprof-pakket is een tool die wordt gebruikt voor de analyse en visualisatie van de profileringsgegevens, maar het is geen officieel Google-product. Dit is de reden waarom je de GitHub-repository kunt gebruiken en het pprof-pakket handmatig kunt installeren met de opdracht 'go'. Zorg ervoor dat uw systeem aan alle vereisten voldoet voordat u de 'go install github.com/google/ start [e-mail beveiligd] ” commando. De vereisten zijn een 'go'-ontwikkelkit van een ondersteunde versie en een graphviz-toepassing om de grafische visualisatie van de profielen te genereren. De Graphviz-toepassing is optioneel, dus u kunt deze overslaan als u dat wilt. Omdat we beide hebben geïnstalleerd en een platform hebben voorbereid voor het pprof-pakket, is ons systeem klaar om het te installeren. Laten we toegang krijgen tot de GitHub-repository om het installatieproces te starten. Zie het volgende commando:

Deze opdracht gaat naar de 'github.com/google/ [e-mail beveiligd] ' adres. Installeer de pprof-pakketten uit de GitHub-repository. Zie het volgende resultaat:

De opdracht 'go' heeft het pakket gedownload en het wordt achtereenvolgens in het Ubuntu 22.04-systeem geïnstalleerd. Het binaire bestand is standaard geïnstalleerd op de locatie $HOME/go/bin.

Geef de handmatige pagina van Pprof . weer

Controleer nu de man-pagina van het pprof om de details van het pprof-pakket te krijgen. De man-pagina bevat alle opties voor het pprof-pakket met een kort detail van elk. Hierdoor kunt u elke optie van de pprof leren kennen en deze gemakkelijk in uw codes gebruiken. Bovendien kunt u, wanneer dat nodig is, teruggaan naar de handleiding met behulp van de vlag –help. Hier is hoe je het kunt doen:

Dit toont de volledige handleiding op uw terminal. Kijk eens naar het volgende:

Zoals u kunt zien, zijn er veel opties beschikbaar voor het pprof-commando. U kunt ze allemaal gebruiken om de vereiste opgemaakte profileringsgegevens te krijgen.

Gebruik Pprof voor het profileren van de gegevens

Om de pprof in uw programma te gebruiken, importeert u eerst het pprof-pakket. Gebruik de volgende opdracht om het pprof-pakket te importeren:

Voordat u de import start, moet u ervoor zorgen dat de toepassing al een HTTP-server gebruikt. Als er geen HTTP-servertoepassingsserver actief is, moet u er een starten door 'net/http' en 'log' toe te voegen aan de import en de volgende code toe te voegen:

Nu kunt u de opdracht pprof gebruiken om naar het heap-profiel te kijken. De volgende opdracht wordt gebruikt om het heapprofiel van de http://localhost te controleren:

Deze zoekt naar het profiel en probeert verbinding te maken met de http-server. Zie de volgende reactie:

Door dezelfde procedure te volgen, kunt u kijken naar een CPU-profiel van 30 seconden, een goroutineblokkeringsprofiel, houders van betwiste mutexen, enz.

Conclusie

Deze handleiding is een korte uitleg van een pprof-opdracht die wordt gebruikt in het Ubuntu 22.04-besturingssysteem. We hebben onderzocht wat het pprof-commando is in het Linux-systeem. En we hebben geleerd hoe we het in ons Ubuntu 22.04-systeem moeten installeren. We hebben ook geleerd over de verscheidenheid aan opties die beschikbaar zijn voor het pprof-pakket in het Linux-besturingssysteem. De basisfunctie van het pprof-pakket is om via een HTTP-server te dienen voor de runtime-profileringsgegevens, terwijl de geprofileerde gegevens in een vereist formaat worden geleverd via de pprof-visualisatietool. Hiermee kunt u GO in slechts 30 seconden profileren.