Berinteraksi dengan grafik api

Cloud Profiler menampilkan data pembuatan profil menggunakan grafik api. Untuk pengantar konseptual, lihat Grafik api.

Grafik flame terdiri dari frame. Setiap frame mewakili fungsi dalam layanan:

  • Lebar frame sesuai dengan penggunaan metrik yang sedang dianalisis. Frame atas, misalnya, mewakili seluruh layanan dan menggunakan 100% metrik yang sedang dianalisis. Oleh karena itu, frame ini ditampilkan sebagai lebar penuh.

  • Secara default, warna bingkai sesuai, jika memungkinkan, dengan paket fungsi. Jika informasi paket tidak tersedia, seperti halnya Node.js, nama file sumber akan digunakan untuk mewarnai blok fungsi. Dalam stack panggilan, perubahan warna blok berarti transisi dari satu paket ke paket lainnya. Anda dapat mengubah cara pewarnaan frame. Untuk mengetahui informasi selengkapnya, lihat Mode warna.

Grafik api menampilkan satu atau beberapa stack panggilan dengan nilai rata-rata dari sekumpulan profil:

  • Setiap profil mewakili data yang dikumpulkan satu kali per menit dari satu instance layanan yang dikonfigurasi di satu zona Compute Engine. Periode pengumpulan untuk profil bervariasi menurut jenis profil. Lihat Pengumpulan profil untuk mengetahui informasi selengkapnya.
  • Rata-rata maksimum 250 profil. Jika ada lebih dari 250 profil yang tersedia, 250 di antaranya akan dipilih secara acak sebagai set sampel.
  • Frame atas, atau "root", dalam flame graph mewakili seluruh layanan. Di bawah frame "root", terdapat frame atau kumpulan frame lain yang membentuk baris kedua dalam grafik. Setiap frame berkode warna ini adalah panggilan tingkat teratas yang dilakukan oleh layanan. Di bawah setiap frame fungsi berwarna tersebut terdapat kumpulan frame fungsi lain, yang masing-masing bertanggung jawab atas beberapa bagian resource frame di atasnya. Hierarki frame fungsi dalam grafik mewakili urutan panggilan, dan lebar frame mewakili kontribusi fungsi atau metode tersebut terhadap konsumsi resource.

Misalnya, grafik profiler heap yang digunakan untuk layanan docdemo menunjukkan bahwa layanan memanggil frame tingkat teratas yang berbeda, salah satunya adalah fungsi main runtime Go. Lebar frame level teratas ini menunjukkan bahwa sebagian besar heap digunakan oleh stack panggilan yang melibatkan main runtime Go, main khusus aplikasi, allocOnce, dan allocImpl:

Grafik profiler untuk heap yang digunakan.

Frame root menampilkan informasi konsumsi metrik.

Mengarahkan kursor ke frame

Saat Anda menahan kursor di atas frame dalam flame graph, tooltip frame akan terbuka dan menampilkan informasi tambahan tentang frame:

  • Nama fungsi
  • Nama file fungsi
  • Penggunaan absolut dan penggunaan persentase

Dalam informasi penggunaan metrik, awalan total menunjukkan bahwa nilai metrik dan persentase adalah untuk fungsi dan turunannya. Sebaliknya, awalan self menunjukkan nilai metrik dan persentase untuk fungsi dengan konsumsi turunannya dikecualikan.

Dialog ini juga menyertakan tombol:

  • Fokus: Memfokuskan grafik pada fungsi frame saat ini.
  • Tampilkan stack: Menambahkan filter untuk hanya menampilkan stack yang menyertakan fungsi frame ini.
  • Tampilkan histori: Membuka tampilan histori untuk fungsi frame.

Dalam contoh ini, tooltip menunjukkan bahwa fungsi runtime.main berada di file /usr/local/go/src/runtime/proc.go. Informasi konsumsi metrik menunjukkan bahwa runtime.main dan turunannya menggunakan memori sebesar 54,73 MiB, atau sekitar 98% dari total memori yang digunakan oleh program:

Penggunaan metrik untuk runtime.main.

Memilih bingkai

Saat Anda memilih frame, flame graph akan digambar ulang dengan frame tersebut ditampilkan lebar penuh dan warna yang lebih tinggi di stack panggilan akan dibisukan. Memilih pada bingkai tidak akan mengubah setelan apa pun, tetapi hanya mengubah cara grafik ditampilkan. Untuk kembali ke tampilan asli, pilih frame root (atas).

Pada contoh berikut, pointer berada di bingkai kecil dan sulit untuk melihat stack panggilan. Tooltip mengidentifikasi (*huffmanBitWriter).write sebagai fungsi frame:

Frame kecil dalam flame graph.

Setelah Anda memilih frame, grafik akan digambar ulang, sehingga stack panggilan lebih terlihat:

Bingkai kecil diperluas.

Langkah selanjutnya