Membandingkan profil
Cloud Profiler memungkinkan Anda membandingkan dua profil dengan jenis yang sama secara visual, yang diambil dari layanan yang sama dalam project. Anda dapat membandingkan profil yang berbeda berdasarkan:
- Waktu berakhir: Apakah layanan berjalan lebih cepat pada waktu tertentu? Apakah ada peningkatan atau penurunan bertahap dari waktu ke waktu?
- Zona: Apakah layanan berjalan lebih cepat di beberapa zona daripada di zona lainnya?
- Versi layanan: Apakah versi yang lebih baru sangat berbeda dengan versi yang lebih lama? Bagaimana caranya?
- Bobot: Bagaimana profil yang diambil selama periode konsumsi tinggi berbeda dengan profil rata-rata?
Menyiapkan perbandingan
Saat menyiapkan perbandingan, Anda menentukan parameter untuk profil asli dan profil yang dibandingkan. Kedua profil ini memiliki semua parameter konfigurasi kecuali yang ditentukan oleh kolom Compare to.
Untuk mengonfigurasi perbandingan, lakukan hal berikut:
Tetapkan jenis perbandingan dengan memilih opsi dari menu Bandingkan dengan:
Memilih salah satu opsi ini akan menghasilkan kolom konfigurasi baru. Nama kolom dimulai dengan Compared dan diakhiri dengan jenis perbandingan. Misalnya, jika Anda memilih Versi, kolom Versi yang dibandingkan akan ditampilkan di samping kolom Bandingkan dengan.
Tentukan profil yang dibandingkan dengan memilih opsi dari menu Compared.
Misalnya, screenshot mengilustrasikan setelan untuk membandingkan dua versi
docdemo-service
:
Setelan untuk kolom berikut berlaku untuk profil asli dan profil yang dibandingkan:
- Rentang waktu:
7 days
- Waktu berakhir:
10/24/19, 8:35 AM
- Layanan:
docdemo-service
- Jenis profil:
CPU time
- Zona:
All zones
- Berat:
All
Untuk profil asli, Versi adalah 1.75.0
. Untuk profil yang dibandingkan, Versi adalah 1.25.0
.
Memahami grafik perbandingan
Grafik yang dihasilkan dari perbandingan berbeda dengan grafik standar dalam hal berikut:
- Arti warna
- Arti ukuran blok fungsi
- Informasi metrik yang ditampilkan oleh tooltip
- Konten daftar fokus
Arti warna
Dalam grafik api standar, Anda dapat menentukan mode warna grafik. Untuk mengetahui detail selengkapnya, lihat Mode warna.
Dalam grafik flame perbandingan, warna mewakili perbedaan antara total konsumsi metrik fungsi dalam profil asli dan dalam profil yang dibandingkan:
- Abu-abu: Ada sedikit atau tidak ada perbedaan.
- Merah: Perbedaannya positif.
- Biru: Perbedaannya negatif.
Makin besar perbedaan nilai konsumsi antara kedua profil yang dibandingkan, makin jenuh warnanya.
Misalnya, pada gambar sebelumnya, stack panggilan foo1
berwarna biru, yang menunjukkan
bahwa profil asli menggunakan CPU lebih sedikit daripada profil yang dibandingkan.
Frame foo1
berwarna biru lebih terang daripada frame turunannya bar
, yang menunjukkan bahwa
ada perbedaan yang lebih besar dalam penggunaan metrik untuk fungsi foo1
dibandingkan dengan fungsi bar
.
Terakhir, stack panggilan foo2
berwarna merah, yang menunjukkan bahwa
profil asli menggunakan CPU lebih banyak daripada profil yang dibandingkan.
Arti ukuran blok
Dalam grafik flame standar, ukuran blok fungsi menggambarkan konsumsi relatif metrik yang sedang dianalisis.
Dalam grafik perbanding flame, ukuran blok fungsi menggambarkan konsumsi rata-rata relatif dari metrik yang sedang dianalisis. Dengan menghitung nilai rata-rata untuk kedua profil, blok yang hanya ada di satu profil masih muncul dalam grafik perbandingan, dengan setengah ukuran pre-perbandingannya.
Nilai metrik yang ditampilkan
Dalam flame graph standar, metrik yang ditampilkan oleh tooltip terdiri dari dua klausa, total dan self. Dalam kedua klausa, nilai absolut ditampilkan bersama dengan persentase:
total: 1.01 s, 28.8%; self: 1.01 s, 28.8%
Dalam flame graph perbandingan, karena ada dua profil yang dibandingkan, tooltip akan menampilkan nilai metrik untuk kedua profil tersebut:
Seperti yang ditunjukkan pada gambar, klausa total dan self memiliki bentuk berikut:
[ABS_ORIGINAL] vs. [ABS_COMPARED] ([ABS_DIFF]), [REL_ORIGINAL] vs. [REL_COMPARED] ([REL_DIFF])
Dalam ekspresi ini, ABS_
berarti nilai absolut dan
REL_
berarti persentase relatif. Oleh karena itu, [ABS_ORIGINAL]
adalah
nilai absolut untuk
profil asli dan [ABS_COMPARED]
adalah nilai absolut untuk profil
yang dibandingkan. Kolom [ABS_DIFF]
, yang ditentukan sebagai [ABS_ORIGINAL]
- [ABS_COMPARED]
,
adalah perbedaan absolut antara dua profil. Jika
perbedaan absolutnya nol, tidak ada perubahan akan ditampilkan.
Persentase dihitung untuk setiap profil sebagai rasio nilai mentah fungsi
terhadap nilai mentah root. Misalnya, dalam profil asli,
foo1
memerlukan waktu 4,67 detik dan root
memerlukan waktu 10,03 detik. Oleh karena itu,
[REL_ORIGINAL]
adalah sekitar 46,0%. Komputasi serupa dilakukan untuk
profil yang dibandingkan. Terakhir, kolom [REL_DIFF]
, yang ditentukan sebagai perbedaan
persentase ini, adalah perbedaan relatif antara kedua profil.
Jika perbedaan ini nol, tidak ada perubahan akan ditampilkan.
Untuk contoh sebelumnya, klausa total menunjukkan bahwa fungsi foo1
di
profil asli dieksekusi dalam 4,67 detik. Perbedaan absolut
-2,24 detik menunjukkan bahwa foo1
dieksekusi sekitar 2,41 detik
lebih cepat di profil asli daripada di profil yang dibandingkan:
total: 4.67 s vs. 6.91 s (-2.24 s), 46.6% vs 69% (-22.4%)
Memfokuskan perbandingan
Dalam flame graph standar, setiap baris di Daftar fokus berisi nama fungsi, nilai konsumsi metrik mandiri dan total, serta jumlah stack panggilan ke fungsi tersebut.
Dalam flame graph perbandingan, setiap baris di Daftar fokus berisi nama fungsi, nilai konsumsi metrik mandiri dan total, serta jumlah stack panggilan ke dalam fungsi tersebut untuk profil asli.profiler Untuk flame graph perbandingan, daftar fokus juga menyertakan dua kolom berlabel Perbedaan, tombol berlabel Perbedaan Relatif, dan tombol berlabel Perbedaan Absolut. Untuk informasi tentang perbedaan relatif dan perbedaan absolut, lihat Nilai metrik yang ditampilkan.
Secara default, warna flame graph perbandingan ditentukan oleh perbedaan absolut antara profil asli dan yang dibandingkan. Sebaliknya, secara default, daftar fokus menampilkan perbedaan relatif antara dua profil yang dibandingkan:
Tabel dalam contoh menunjukkan bahwa fungsi foo1
memerlukan waktu
4,67 detik untuk berjalan di profil asli. Waktu 4,67 detik sesuai
dengan sekitar 46,6% runtime. Kolom Diff, yang menampilkan
perbedaan relatif, berisi nilai -22.4%
.
Untuk melihat perbedaan absolut antara nilai metrik, klik Absolute Diff.
Baik Anda memiliki flame graph standar atau flame graph perbandingan, Anda dapat mengurutkan baris tabel dalam urutan arrow_upward menaik atau arrow_downward menurun dengan memilih elemen header tabel.
Menonaktifkan mode perbandingan
Untuk menonaktifkan mode perbandingan, tetapkan kolom Bandingkan dengan ke Tidak ada.