Profil Git Pprof ile

Profil Git Pprof Ile



Linux işletim sisteminde, GO ekosistemi, GO programındaki performans ve mantık sorunlarını teşhis etmek için büyük bir araç ve SPI paketi sunar. Tanılama çözümlerinden biri GO profili oluşturmadır. GO profillemenin işlevi, programın en pahalı bölümünü bulmak için bir GO programını maliyet, bellek kullanımı ve sık işlev çağrıları açısından analiz etmektir. Bu sayfa, GO profili oluşturmayı birkaç saniye içinde gerçekleştirmek için pprof paketinin kullanımını gösterir. Burada, bir GO programının profilini çıkarmak için pprof işlevini keşfedeceğiz. Hadi başlayalım!

Linux'ta Pprof Paketi Nedir?

Linux işletim sistemindeki pprof paketi, runtime profilleme verilerini pprof görselleştirme aracı yardımıyla gerekli formatta yazmak için kullanılan bir profil oluşturma aracıdır. Çalışma zamanı profil oluşturma verileri için bir HTTP sunucusu aracılığıyla hizmet verir ve çoğunlukla HTTP işleyicilerini kaydetmenin yan etkileri için içe aktarılır. pprof komutunun tüm tanıtıcı yolları /debug/pprof/ ile başlar ve ardından belirli bir komut gelir.

Ubuntu 22.04 Sisteminde GO Profiling için Pprof Paketi Nasıl Kurulur

Hareket halindeyken hızlı bir profil oluşturma işlemi arıyorsanız, ancak her şey zahmetliyse, aşağıdaki işlemi takip edelim. pprof'u Ubuntu 22.04 sistemine kurmak için bazı adımları izlemeniz gerekiyor. İşte o adımlar:







İlk olarak, pprof paketinin durmaması için tüm bağımlılıkları kurmamız gerekiyor. İlk olarak, aşağıdaki komutla Graphviz bağımlılığını kurun:





Kök ayrıcalığını vermek için “sudo” kullandığınızdan emin olun. Aksi takdirde sistem herhangi bir paket kurmanıza izin vermeyebilir. Aşağıdaki çıktıya bakın:







Artık sistem, pprof paketinin bağımlılıklarına sahiptir. pprof paketini kurmanıza izin verir. GitHub'dan pprof'u almak için “go get” komutunu kullanın. İşte komut:

Eğer 'go' komutu önceden kurulu değilse, onu kullanmak için özel olarak kurmanız gerekecektir. Sistemimizde “go” komutu kurulu olmadığı için “komut bulunamadı” sonucunu aldık. Aşağıdaki çıktıya bakın:

Önce 'go' paketini kurun ve ardından GitHub'dan pprof paketini almak için kullanın. Önceki ekran görüntüsünde de görebileceğiniz gibi, “go” paketini kurmak için üç farklı seçeneğimiz var, bunlardan herhangi birini kullanabiliriz. Hepsi biraz farklı özelliklerle aynı sonucu verir. Ancak, “go” paketinin “2:1.18~0ubuntu2” sürümünü kurmak için “sudo apt install golang-go” komutunu kullanıyoruz. Aşağıdaki komutu yürütün:

Bu, 'go' paketinin yanı sıra tüm bağımlılıklarını ve ilgili kitaplıklarını kurmanıza izin verir. Aşağıdaki çıktıya bakın:

Şimdi GitHub deposuna gidin ve pprof paketini kurun. Bir pprof paketi, profil oluşturma verilerinin analizi ve görselleştirilmesi için kullanılan bir araçtır, ancak resmi bir google ürünü değildir. Bu nedenle GitHub deposunu kullanabilir ve pprof paketini “go” komutuyla manuel olarak kurabilirsiniz. Github.com/google/ kurulumunu başlatmadan önce sisteminizin tüm ön koşulları karşıladığından emin olun. [e-posta korumalı] ' emretmek. Ön koşullar, desteklenen bir sürümün 'git' geliştirme kiti ve profillerin grafik görselleştirmesini oluşturmak için bir graphviz uygulamasıdır. Graphviz uygulaması isteğe bağlıdır, yani isterseniz atlayabilirsiniz. Her ikisini de kurduğumuz ve pprof paketi için bir platform hazırladığımız için sistemimiz kuruluma hazır. Kurulum işlemini başlatmak için GitHub deposuna erişim sağlayalım. Aşağıdaki komuta bakın:

Bu komut “github.com/google/ [e-posta korumalı] ' adres. GitHub deposundan pprof paketlerini kurun. Aşağıdaki sonuca bakın:

“go” komutu paketi indirdi ve ardı ardına Ubuntu 22.04 sistemine kuruldu. İkili dosya varsayılan olarak $HOME/go/bin konumuna yüklenir.

Pprof'un Kılavuz Sayfasını Görüntüle

Şimdi, pprof paketinin ayrıntılarını almak için pprof'un kılavuz sayfasına bakın. Kılavuz sayfası, her birinin kısa bir ayrıntısıyla birlikte pprof paketi için tüm seçenekleri içerir. Bu, pprof'un her seçeneğini tanımanıza ve bunları kodlarınızda kolaylıkla kullanmanıza olanak tanır. Ayrıca, ihtiyacınız olduğunda –help bayrağını kullanarak kılavuz sayfasına geri dönebilirsiniz. İşte bunu nasıl yapabilirsiniz:

Bu, terminalinizde tam kılavuz sayfasını görüntüler. Aşağıdakilere bir göz atın:

Gördüğünüz gibi, pprof komutu için birçok seçenek mevcut. Gerekli biçimlendirilmiş profil oluşturma verilerini almak için bunlardan herhangi birini kullanabilirsiniz.

Verilerin Profilini Oluşturmak İçin Pprof Kullanın

pprof'u programınızda kullanmak için önce pprof paketini içe aktarın. pprof paketini içe aktarmak için aşağıdaki komutu kullanın:

İçe aktarmayı başlatmadan önce, uygulamanın zaten bir HTTP sunucusu çalıştırdığından emin olun. Çalışan herhangi bir HTTP sunucusu uygulama sunucunuz yoksa, içe aktarmaya “net/http” ve “log” ekleyerek bir tane başlatmalı ve aşağıdaki kodu eklemelisiniz:

Artık yığın profiline bakmak için pprof komutunu kullanabilirsiniz. http://localhost'nin yığın profilini kontrol etmek için aşağıdaki komut kullanılır:

Bu, profili aramaya başlar ve http sunucusuna bağlanmaya çalışır. Aşağıdaki yanıta bakın:

Aynı prosedürü izleyerek, 30 saniyelik bir CPU profiline, bir goroutine engelleme profiline, iddialı mutekslerin sahiplerine vb. bakabilirsiniz.

Çözüm

Bu kılavuz, Ubuntu 22.04 işletim sisteminde kullanılan bir pprof komutunun hızlı bir özetidir. Linux sisteminde pprof komutunun ne olduğunu araştırdık. Ve Ubuntu 22.04 sistemimize nasıl kuracağımızı öğrendik. Ayrıca Linux işletim sisteminde pprof paketi için mevcut olan seçeneklerin çeşitliliğini de öğrendik. pprof paketinin temel işlevi, çalışma zamanı profil oluşturma verileri için bir HTTP sunucusu aracılığıyla hizmet verirken, profilli verileri gerekli bir biçimde pprof görselleştirme aracı aracılığıyla sağlamaktır. Bu, GO'nun profilini yalnızca 30 saniyede oluşturmanıza olanak tanır.