Mengukur performa aplikasi
Dokumen ini menunjukkan cara menyiapkan dan menggunakan Cloud Profiler. Anda menggunakan Cloud Shell untuk mendownload program Go sampel, menjalankannya dengan mengaktifkan pembuatan profil, lalu menggunakan antarmuka Profiler untuk menjelajahi data yang direkam.
Jika Anda berencana memprofilkan aplikasi yang berjalan di luar Google Cloud, Anda harus melakukan beberapa langkah konfigurasi yang tidak dibahas dalam dokumen ini. Untuk mengetahui informasi tentang langkah-langkah ini, lihat Membuat profil aplikasi yang berjalan di luar Google Cloud.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Enable the required API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. - Untuk membuka Cloud Shell, di toolbar konsol Google Cloud , klik
Activate Cloud Shell:

Setelah beberapa saat, sesi Cloud Shell akan terbuka di dalam konsolGoogle Cloud :

- Frame abu-abu mewakili seluruh file yang dapat dieksekusi, yang mencakup 100% resource yang digunakan.
- Bingkai
mainhijau adalahruntime.mainGo. - Frame
mainoranye adalah rutinmainprogram contoh. - Frame
busyloopberwarna oranye adalah rutinitas yang dipanggil darimainsampel. - Frame
main.loadberwarna oranye adalah rutinitas yang dipanggil darimainsampel. - Ringkasan Cloud Profiler
- Konsep pembuatan profil
- Baca referensi kami tentang DevOps dan jelajahi program riset DORA.
- Membuat profil aplikasi Go
- Membuat profil aplikasi Java
- Membuat profil aplikasi Node.js
- Membuat profil aplikasi Python
- Membuat profil aplikasi yang berjalan di luar Google Cloud
Mendapatkan program untuk pembuatan profil
Program contoh, main.go, ada di repositori golang-samples di
GitHub. Untuk mendapatkannya, di Cloud Shell, jalankan perintah berikut
untuk mengambil paket contoh Go:
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Pengambilan paket memerlukan waktu beberapa saat hingga selesai.
Membuat profil kode
Di Cloud Shell, buka direktori kode contoh untuk Profiler dalam paket yang diambil:
cd golang-samples/profiler/profiler_quickstart
Program main.go membuat beban kerja intensif CPU untuk menyediakan data ke profiler. Di Cloud Shell, jalankan perintah berikut untuk memulai program, dan biarkan program berjalan:
go run main.go
Program ini dirancang untuk memuat CPU saat berjalan. Profiler dikonfigurasi untuk menggunakan Profiler, yang mengumpulkan data pembuatan profil dari program saat program berjalan dan menyimpannya secara berkala.
Beberapa detik setelah Anda memulai program, Anda akan melihat pesan
profiler has started. Dalam waktu sekitar satu menit, dua pesan lagi akan ditampilkan:
successfully created profile CPU
start uploading profile
Pesan ini menunjukkan bahwa profil telah dibuat dan diupload ke project Cloud Storage Anda. Program terus memancarkan dua pesan terakhir, sekitar satu kali per menit, selama berjalan.
Jika Anda menerima pesan error izin ditolak setelah memulai layanan, lihat Error pada konfigurasi project Google Cloud .
Antarmuka profiler
Beberapa saat setelah Anda memulai aplikasi, Profiler akan menampilkan data profil awal. Antarmuka ini menawarkan berbagai kontrol dan grafik aktivitas untuk menjelajahi data pembuatan profil:

Selain kontrol waktu, ada opsi yang memungkinkan Anda memilih set data profil yang akan digunakan. Saat memprofilkan beberapa aplikasi, Anda menggunakan Layanan untuk memilih asal data yang diprofilkan. Jenis profil memungkinkan Anda memilih jenis data profil yang akan ditampilkan. Nama zona dan Versi memungkinkan Anda membatasi tampilan ke data dari zona Compute Engine atau versi aplikasi. Bobot memungkinkan Anda memilih profil yang diambil selama puncak penggunaan resource.
Untuk menyaring cara grafik nyala menampilkan profil yang telah Anda pilih untuk dianalisis, Anda menambahkan filter. Pada screenshot sebelumnya, panel filter
filter_list menampilkan
satu filter. Opsi filter ini adalah Metric dan nilai filternya adalah CPU time.
Mempelajari data
Grafik flame menampilkan stack panggilan program. Grafik flame merepresentasikan setiap fungsi dengan frame. Lebar frame menunjukkan proporsi konsumsi resource oleh fungsi tersebut. Frame atas mewakili seluruh program. Frame ini selalu menampilkan 100% konsumsi resource. Frame ini juga mencantumkan jumlah profil yang dirata-ratakan dalam grafik ini.
Program contoh tidak memiliki kumpulan stack panggilan yang rumit; dalam screenshot sebelumnya, Anda melihat 5 frame:
Pemilih filter memungkinkan Anda melakukan hal-hal seperti memfilter fungsi yang cocok dengan
beberapa nama. Misalnya, jika ada library standar fungsi utilitas, Anda dapat menghapusnya dari grafik. Anda juga dapat menghapus stack panggilan
yang berasal dari metode tertentu atau menyederhanakan grafik dengan cara lain.
Aplikasi main.go ini sederhana, jadi tidak banyak yang perlu
dikeluarkan.
Bahkan untuk aplikasi sederhana, filter memungkinkan Anda menyembunyikan frame yang tidak menarik sehingga Anda dapat melihat frame yang menarik dengan lebih jelas. Misalnya, dalam screenshot pembuatan profil untuk contoh kode, frame abu-abu sedikit lebih besar daripada frame main pertama di bawahnya. Mengapa? Apakah ada hal lain yang terjadi yang tidak langsung terlihat karena maincall stack
menggunakan persentase resource yang sangat besar?
Untuk melihat apa yang terjadi di luar rutin main aplikasi,
tambahkan filter yang menyembunyikan stack panggilan rutin main.
Hanya 0,227% konsumsi resource yang terjadi di luar main:

Untuk mengetahui informasi selengkapnya tentang pemfilteran dan cara lain untuk menjelajahi data pembuatan profil, lihat Memilih profil yang akan dianalisis.
Langkah berikutnya
Untuk mengetahui informasi umum tentang pembuatan profil, lihat dokumen berikut: