Size Go Programlarınızdan Bahsediyorlar Go Mem Pprof Svg Dosyalarını Nasıl Okuyacağınızı

Yayınlanan: 2023-02-20

go mem pprof svg dosyalarını nasıl okuyacağınızı öğrenmek istiyorsanız doğru yere geldiniz. Bu yazıda, Go programlarınız hakkında size söylediklerini anlayabilmeniz için bu dosyaları nasıl okuyacağınızı göstereceğiz. Öncelikle bu dosyaların aslında ne olduğuna bir göz atalım. Go mem pprof svg dosyaları, Go memory profiler tarafından oluşturulur. Go programlarınızın bellek kullanımı hakkında bilgi içerirler. Profil oluşturucu, programınızın bellek tahsisine bakarak bu bilgileri toplar. Ardından, tarayıcınızda görüntüleyebileceğiniz bir rapor oluşturur. Rapor çok fazla bilgi içeriyor, ancak en önemli kısım üstteki grafik. Bu grafik, programınızın kullandığı toplam bellek miktarını gösterir. Grafiğin üzerine gelerek programınızın herhangi bir zamanda ne kadar bellek kullandığını görebilirsiniz. Görünen sayı, programınızın megabayt cinsinden kullandığı bellek miktarıdır. Grafiğin altındaki göstergeye bakarak programınızın ne kadar bellek kullandığını da görebilirsiniz. Bu gösterge, programınızın kullandığı bellek miktarını farklı renklerde gösterir. Göstergenin yeşil kısmı, programınızın yığını için kullandığı bellek miktarını temsil eder. Mavi kısım, programınızın yığını için kullandığı bellek miktarını temsil eder. Mor kısım, programınızın çöp toplayıcı için kullandığı bellek miktarını temsil eder. Artık bu dosyaların ne olduğunu ve neleri içerdiğini bildiğinize göre, onları nasıl okuyacağınıza bir göz atalım. Yapmanız gereken ilk şey, dosyayı tarayıcınızda açmaktır. Bunu, sayfanın üst kısmındaki “Tarayıcıda Aç” düğmesine tıklayarak yapabilirsiniz. Dosya açıldığında üstte grafiği göreceksiniz. Daha önce de belirttiğimiz gibi, bu grafik size programınızın kullandığı toplam bellek miktarını gösterir. Programınızın herhangi bir zamanda kullandığı bellek miktarını görmek için grafiğin üzerine gelebilirsiniz. Grafiğin altındaki göstergeye bakarak programınızın kullandığı bellek miktarını da görebilirsiniz. Gösterge renk kodludur, böylece programınızın belleğin hangi bölümünü kullandığını kolayca görebilirsiniz. Artık bu dosyaları nasıl okuyacağınızı bildiğinize göre, ne olduğunu anlamaya başlayabilirsiniz.

Cpu Pprof'ta Profiler Çıktısını Nasıl Görüntüleyebilirsiniz?

Cpu Pprof'ta Profiler Çıktısını Nasıl Görüntüleyebilirsiniz?
Image by – golangexample

Profil oluşturucu çıktısı, profil oluşturucuyu -d seçeneğiyle çalıştırarak cpu pprof'ta görüntülenebilir. Bu, profil oluşturucu verilerini -o seçeneğiyle belirtilen dosyaya çıkarır. Profil oluşturucu çıktısı, tarayıcının Geliştirici Araçları açılıp Profiller sekmesi seçilerek Google Chrome tarayıcısında da görüntülenebilir.

Pprof Nedir?

Pprof, profil oluşturma verilerini analiz etmek ve işlemek için bir uygulamadır. Pprof, profil sonuçlarında çeşitli profil oluşturma örneklerini dikkate alır. Proto formatı kullanarak raporlar oluşturmak, verileri görselleştirmek ve analiz etmek mümkündür. Nokta görselleştirme paketi (hem metin hem de grafik raporları oluşturmak için kullanılabilir) hem metin hem de grafik raporlara izin verir.

Go Programı İçin Bellek Kullanımını Bulmak İçin Aşağıdaki Paketlerden Hangisi Kullanılabilir?

Bellek ayırma örnekleri, yığın profillerinde raporlanır ve mevcut ve geçmiş bellek kullanımını izlemek için kullanılır.

Linux Dizüstü Bilgisayarımda Bellek ve İşlemci Kullanımına Göre İlk 10 İşlem

Linux dizüstü bilgisayarımın bellek ve CPU kullanımı, ilk on işlem sıralanarak aşağıdaki tabloda listelenmiştir. Bellek kullanımı sütunu, işlem tarafından ne kadar bellek kullanıldığını, CPU kullanımı sütunu ise işlem sırasında ne kadar CPU kullanıldığını açıklar.

Pprof Aracı

Pprof Aracı
Resim - github

pprof aracı, Go programınız hakkında veri toplamanıza ve analiz etmenize olanak sağlayan bir performans profili çıkarma aracıdır. Programınızın zamanının çoğunu nerede harcadığını bulmak ve iyileştirilebilecek darboğazları belirlemek için kullanabilirsiniz.

Go Programlarınızın Profilini Nasıl Çıkarırsınız?

Yukarıdaki yöntemin bir dezavantajı, profil verilerini almak için çalışan bir web sunucunuzun olması gerektiğidir. Alternatif olarak, bir web uygulamasının profilini çıkarıyorsanız Watcher gibi bir şey kullanmak isteyebilirsiniz. pprof paketi, web tabanlı curl komutuyla aynı olan pprof aracını ve analiz edilmekte olan Go paketleri için hata ayıklama bilgilerini yazdıran pprof-dev'i içerir.

Pprof Profilleri Pprof

Pprof profilleri, bir uygulamadaki potansiyel performans darboğazlarını belirlemek için kullanılabilen bir tür performans profilidir. Bir uygulamanın performansının bir özetini sağlarlar ve daha fazla araştırma gerektirebilecek alanları belirlemek için kullanılabilirler.

Bu gönderide, pprof'un içindekileri ve bunların profillerimizi nasıl etkilediğini inceleyerek, her şeyin nasıl birbirine uyduğunu göreceğiz. Profil, sürecin ilk adımıdır. Dize serileştirme, dizeleri dize tablosuna giren yapı aracılığıyla gerçekleştirilir. Bu yapı kullanılarak seri hale getirilen dizeler, proto kullanılarak seri hale getirilen dizelerle aynı değildir. Bayt cinsinden 128 baytlık bir fonksiyona bir örnek (ölçüm) örneği verilmiştir. Paketin ana içe aktarımı aşağıdaki gibidir (işletim sistemi, test): ggphy.com/Google/pprof/profile/package/mainimport.html TestProfile bir işlev testidir. İstediğimiz her şeyi ekleyebileceğimiz boş bir profil oluşturun.

Örnek türleri kullanırken, bunu kullanın. * Profil. Bu durumda değer türü //'dir. Tahsislerin bilinmesini istiyorsanız, bir profil girmeniz gerekir. Bayt cinsinden, // birim cinsinden. Benzer şekilde, değerler ve numune türleri de aynı şekilde sıralanır. Aşağıdaki grafik, profile_test.go testi çalıştırıldıktan sonra pprof – http://8080 profile.pb.gz aracı kullanılarak oluşturulmuştur. İşlem belleğinde bir şeyin 128B (bayt) bellek kullandığı anlaşılıyor.

Konumun nerede olduğunu bilmediği için harita konumu göstermiyor. Bir eşleme kullanırsanız, dosya adı zaten görünür olacaktır. Bir dahaki sefere isimlendirmeyi deneyelim. go test profile_test.go'yu çalıştırdıktan sonra, go ile profili bir kez daha açın. pprof – http://8080 profile.pb.gz aracı tarafından gösterildiği gibi, örnek artık meta veri etkindir. Profil şu anda gerçekte beklediğinizden çok uzak, bu yüzden daha karmaşık bir örnek yapacağız. Go yapısı sezgisel bir anlam ifade etmese de, normalde gördüğümüzü yeniden birleştirmek için boş bir profilden adım adım çalışarak anlaşılmasını kolaylaştırır. Her profil bu yığın izlerinin çoğunu içeriyorsa, normal profil görünümünüzde göründükleri şekilde görünmeleri mümkündür. Yığın izlerinin daha gerçekçi bir şekilde temsil edilmesi için süreci daha gerçekçi hale getirmek için bir dizi Örnek, konum ve işlev ekledik.

Cpu.pprof Çıkışları

cpu.pprof çıktıları, CPU'nun uygulama tarafından nasıl kullanıldığına dair ayrıntılı bir görünüm sağlar. Bu, performans analizi ve ayarlama için yararlı olabilir. Çıktılar, metin, HTML ve PDF dahil olmak üzere çeşitli biçimlerde oluşturulabilir.