Profile Go dengan Pprof

Profile Go Dengan Pprof



Dalam sistem pengendalian Linux, ekosistem GO menawarkan set besar alatan dan SPI untuk mendiagnosis prestasi dan isu logik dalam program GO. Salah satu penyelesaian diagnostik ialah pemprofilan GO. Fungsi pemprofilan GO adalah untuk menganalisis program GO dari segi kos, penggunaan memori, dan panggilan fungsi yang kerap untuk mengetahui bahagian program yang paling mahal. Halaman ini menunjukkan penggunaan pakej pprof untuk melaksanakan pemprofilan GO dalam beberapa saat. Di sini, kami akan meneroka fungsi pprof untuk memprofil program GO. Mari kita mulakan!

Apakah Pakej Pprof dalam Linux

Pakej pprof dalam sistem pengendalian Linux ialah alat pemprofilan yang digunakan untuk menulis data pemprofilan masa jalan dalam format yang diperlukan dengan bantuan alat visualisasi pprof. Ia berfungsi melalui pelayan HTTP untuk data pemprofilan masa jalan, dan kebanyakannya diimport untuk kesan sampingan pendaftaran pengendali HTTPnya. Semua laluan pemegang perintah pprof bermula dengan /debug/pprof/ diikuti dengan arahan tertentu.

Cara Memasang Pakej Pprof untuk Pemprofilan GO dalam Sistem Ubuntu 22.04

Jika anda sedang mencari proses pemasangan profil yang pantas, tetapi semuanya menyusahkan, marilah kami mengikuti proses berikut. Anda perlu mengikuti beberapa langkah untuk memasang pprof dalam sistem Ubuntu 22.04. Berikut adalah langkah-langkah tersebut:







Pertama, kita perlu memasang semua kebergantungan supaya pakej pprof tidak terhenti. Mula-mula, pasang kebergantungan Graphviz dengan arahan berikut:





Pastikan anda menggunakan 'sudo' untuk memberikan keistimewaan root. Jika tidak, sistem mungkin tidak membenarkan anda memasang sebarang pakej. Lihat output berikut:







Kini, sistem mempunyai kebergantungan untuk pakej pprof. Ia membolehkan anda memasang pakej pprof. Gunakan arahan 'go get' untuk mendapatkan pprof daripada GitHub. Berikut adalah arahannya:

Jika anda tidak mempunyai arahan 'pergi' diprapasang, anda perlu memasangnya secara khusus untuk menggunakannya. Sistem kami tidak memasang arahan 'pergi', jadi kami mendapat hasil 'perintah tidak ditemui'. Lihat output berikut:

Pasang pakej 'go' dahulu dan kemudian gunakannya untuk mendapatkan pakej pprof daripada GitHub. Seperti yang anda lihat dalam tangkapan skrin sebelumnya, kami mempunyai tiga pilihan berbeza untuk memasang pakej 'pergi', jadi kami boleh menggunakan mana-mana daripadanya. Semua memberikan hasil yang sama dengan ciri yang sedikit berbeza. Walau bagaimanapun, kami menggunakan arahan 'sudo apt install golang-go' untuk memasang versi pakej 'go' '2:1.18~0ubuntu2'. Jalankan arahan berikut:

Ini membolehkan anda memasang pakej 'go' serta semua kebergantungannya dan perpustakaan yang berkaitan. Lihat output berikut:

Sekarang, pergi ke repositori GitHub dan pasang pakej pprof. Pakej pprof ialah alat yang digunakan untuk analisis dan visualisasi data pemprofilan, tetapi ia bukan produk rasmi google. Inilah sebabnya mengapa anda boleh menggunakan repositori GitHub dan memasang pakej pprof secara manual dengan arahan 'go'. Pastikan sistem anda memenuhi semua keperluan prasyarat sebelum anda memulakan 'go install github.com/google/ [e-mel dilindungi] ” perintah. Prasyarat ialah kit pembangunan 'go' versi yang disokong dan aplikasi graphviz untuk menjana visualisasi grafik profil. Aplikasi Graphviz adalah pilihan, jadi anda boleh melangkaunya jika anda mahu. Memandangkan kami memasang kedua-duanya dan menyediakan platform untuk pakej pprof, sistem kami sedia untuk memasangnya. Biar kami mendapatkan akses kepada repositori GitHub untuk memulakan proses pemasangan. Lihat arahan berikut:

Perintah ini pergi ke 'github.com/google/ [e-mel dilindungi] ” alamat. Pasang pakej pprof daripada repositori GitHub. Lihat hasil berikut:

Perintah 'go' memuat turun pakej dan ia dipasang dalam sistem Ubuntu 22.04 berturut-turut. Binari dipasang secara lalai di lokasi $HOME/go/bin.

Paparkan Halaman Manual Pprof

Sekarang, semak halaman manual pprof untuk mendapatkan butiran pakej pprof. Halaman manual mengandungi semua pilihan untuk pakej pprof dengan butiran ringkas setiap satu. Ini membolehkan anda mengenali setiap pilihan pprof dan menggunakannya dalam kod anda dengan mudah. Selain itu, bila-bila masa anda perlu, anda boleh merujuk kembali ke halaman manual menggunakan bendera –help. Berikut ialah cara anda boleh melakukannya:

Ini memaparkan halaman manual lengkap pada terminal anda. Sila lihat perkara berikut:

Seperti yang anda lihat, terdapat banyak pilihan yang tersedia untuk arahan pprof. Anda boleh menggunakan mana-mana daripadanya untuk mendapatkan data pemprofilan berformat yang diperlukan.

Gunakan Pprof untuk Memprofilkan Data

Untuk menggunakan pprof dalam program anda, import pakej pprof dahulu. Gunakan arahan berikut untuk mengimport pakej pprof:

Sebelum anda memulakan import, pastikan aplikasi itu sudah menjalankan pelayan HTTP. Jika anda tidak mempunyai sebarang pelayan aplikasi pelayan HTTP yang sedang berjalan, anda harus memulakannya dengan menambah “net/http” dan “log” ke dalam import dan tambah kod berikut:

Sekarang, anda boleh menggunakan perintah pprof untuk melihat profil timbunan. Perintah berikut digunakan untuk menyemak profil timbunan http://localhost:

Ini mula mencari profil dan cuba menyambung ke pelayan http. Lihat respons berikut:

Dengan mengikuti prosedur yang sama, anda boleh melihat profil CPU 30 saat, profil penyekat goroutine, pemegang mutex yang dipertikaikan, dsb.

Kesimpulan

Manual ini ialah panduan pantas arahan pprof yang digunakan dalam sistem pengendalian Ubuntu 22.04. Kami meneroka apakah perintah pprof dalam sistem Linux. Dan kami belajar cara memasangnya dalam sistem Ubuntu 22.04 kami. Kami juga mempelajari tentang pelbagai pilihan yang tersedia untuk pakej pprof dalam sistem pengendalian Linux. Fungsi asas pakej pprof adalah untuk berkhidmat melalui pelayan HTTP untuk data pemprofilan masa jalan sambil menyediakan data berprofil dalam format yang diperlukan melalui alat visualisasi pprof. Ini membolehkan anda membuat profil GO dalam masa 30 saat sahaja.