Fitur profil berkelanjutan dari Pemantauan Aplikasi membantu mengidentifikasi hambatan yang disebabkan oleh CPU, memori, atau I/O dalam program Java. Fitur ini menampilkan data statistik berdasarkan nama metode, nama kelas, dan nomor baris, sehingga pengembang dapat mengoptimalkan program, mengurangi latensi, meningkatkan throughput, dan menghemat biaya. Topik ini menjelaskan cara mengaktifkan fitur profil berkelanjutan serta cara melihat data profil.
Pemantauan Aplikasi menyediakan halaman detail aplikasi baru bagi pengguna yang telah mengaktifkan mode penagihan baru.
Jika Anda belum mengaktifkan mode penagihan baru, klik Switch to New Version pada halaman Application List untuk melihat halaman detail aplikasi baru.
Tes performa telah dilakukan untuk fitur profil berkelanjutan. Ketika semua fitur dari aplikasi Spring Web utama diaktifkan, pemanfaatan CPU meningkat sekitar 5%, penggunaan memori off-heap meningkat sekitar 50 MB, dan pengumpulan sampah (GC) serta latensi permintaan hampir tidak bertambah. Untuk informasi lebih lanjut tentang hasil tes lainnya, lihat Laporan tes performa teknologi profil berkelanjutan ARMS agent untuk Java v4.x.
Prasyarat
Hanya Pemantauan Aplikasi Pro Edition dan mode penagihan berdasarkan data terobservasi yang mendukung profil berkelanjutan. Untuk informasi tentang cara mengaktifkan Pro Edition, lihat Pay-as-you-go. Untuk informasi tentang cara beralih ke mode penagihan berdasarkan data terobservasi, lihat Billing.
Data profil berkelanjutan hanya dapat disimpan selama tujuh hari.
Aplikasi Anda harus dipantau oleh Pemantauan Aplikasi. Versi ARMS agent harus 2.7.3.5 atau lebih baru. Untuk informasi tentang cara memantau aplikasi di Pemantauan Aplikasi, lihat Ikhtisar Pemantauan Aplikasi. Untuk informasi tentang cara memperbarui ARMS agent, lihat Perbarui ARMS agent.
Bucket Object Storage Service (OSS) harus ditentukan dalam kebijakan kontrol akses dari virtual private cloud (VPC) tempat aplikasi berada. Bucket OSS digunakan untuk menyimpan data profil. Jika bucket tidak ditentukan dalam kebijakan, data tidak dapat dikumpulkan. Nama bucket OSS adalah arms-profiling-<regionId>. Ganti <regionId> dengan ID wilayah. Sebagai contoh, jika aplikasi Anda diterapkan di wilayah China (Hangzhou), nama bucket adalah arms-profiling-cn-hangzhou.
Fitur profil berkelanjutan hanya tersedia untuk OpenJDK dan Oracle JDK.
Batasan
Kernel sistem operasi
Kernel sistem operasi harus Linux 2.6.32-431.23.3.el6.x86_64 atau lebih baru.
Anda dapat menjalankan perintah uname -r untuk memeriksa versi kernel.
Versi JDK
Fitur profil berkelanjutan menggunakan Java Virtual Machine Tool Interface (JVM TI) untuk mendapatkan tumpukan metode suatu aplikasi. Ini memungkinkan Anda mendapatkan rincian pemanfaatan CPU dan penggunaan memori selama waktu proses aplikasi. JVM TI dapat menyebabkan crash aplikasi. Versi JDK berikut telah memperbaiki masalah ini: OpenJDK 8u352, 11.0.17, dan 17.0.5, serta Oracle JDK 11.0.21 dan 17.0.9. Untuk informasi lebih lanjut, lihat AsyncGetCallTrace may crash JVM on guarantee. Untuk versi JDK lainnya, tim R&D Pemantauan Aplikasi telah melakukan berbagai tes dan menemukan bahwa crash aplikasi hanya terjadi dalam skenario minoritas. Pemantauan Aplikasi tidak memaksa menonaktifkan fitur profil berkelanjutan. Anda dapat menggunakan fitur ini untuk alamat IP aplikasi tertentu jika diperlukan. Namun demikian, untuk memastikan stabilitas aplikasi Anda, kami sarankan Anda menggunakan versi JDK yang memenuhi persyaratan.
Fitur profil berkelanjutan terutama bergantung pada simbol debug dalam JDK. Namun, gambar dasar Alpine menghapus simbol debug dari JDK untuk mengontrol penggunaan memori. Dengan cara ini, fitur profil berkelanjutan tidak dapat digunakan sesuai harapan. Kami sarankan Anda tidak menggunakan gambar dasar Alpine.
Tabel berikut mencantumkan versi JDK yang direkomendasikan.
JDK | Versi |
OpenJDK |
|
Oracle JDK |
|
Aktifkan profil berkelanjutan
Di bilah navigasi atas, pilih .
Di bagian Ongoing Profiling Settings, aktifkan saklar utama dan konfigurasikan parameter Real-time effective IP atau Real-time effective network segment.
Klik Save.
Lihat data profil
Di bilah navigasi atas, pilih .
Di daftar instance aplikasi, pilih instance aplikasi. Di sisi kanan halaman, atur periode waktu.
Pada tab Single View di panel sisi kanan, lakukan operasi berikut untuk menanyakan data dan melihat hasil analisis agregat.

Di bagian Time window size (ikon 1), pilih durasi snapshot, dan seret pada grafik garis untuk memilih periode waktu.
Dari daftar drop-down (ikon 2), pilih data yang ingin Anda lihat: data tentang CPU, heap JVM, dan GC JVM.
Seperti yang ditunjukkan pada gambar, data dalam periode waktu (ikon 3) ditampilkan. Anda dapat mengklik Aggregate analysis untuk melihat detail snapshot.
Gambar 1. Analisis Performa

Kolom Self menampilkan waktu atau sumber daya yang dikonsumsi oleh setiap metode dalam stack, tidak termasuk waktu atau sumber daya yang digunakan oleh metode anak mereka. Data ini membantu mengidentifikasi metode yang menggunakan waktu atau sumber daya berlebihan untuk diri mereka sendiri.
Kolom Total menampilkan waktu atau sumber daya yang dikonsumsi oleh setiap metode, termasuk waktu atau sumber daya yang digunakan oleh semua metode anak mereka. Data ini membantu mengidentifikasi metode yang memberikan kontribusi waktu atau sumber daya paling signifikan.
Saat menganalisis kode hotspot, Anda dapat mengidentifikasi metode yang memakan waktu dengan fokus pada kolom Self atau api yang lebar di bagian bawah grafik api di sisi kanan. Umumnya, api yang lebar menunjukkan hambatan performa sistem.
Gambar 2. Metrik

Gambar 3. Snapshot

Referensi
Saat menggunakan fitur profil berkelanjutan:
Troubleshoot masalah pemanfaatan CPU dan memori tinggi dengan merujuk pada yang berikut:
Troubleshoot masalah umum.