Arthas membantu pengembang mendiagnosis masalah dalam lingkungan produksi aplikasi Java. Teknologi peningkatan bytecode memungkinkan pengembang menyelesaikan masalah tanpa perlu memulai ulang proses Java Virtual Machine (JVM) yang sedang berjalan.
Application Real-Time Monitoring Service (ARMS) sepenuhnya terintegrasi dengan semua kemampuan Arthas. Dibandingkan dengan pemasangan Arthas secara mandiri, kemampuan Arthas yang terintegrasi dengan ARMS memiliki keuntungan sebagai berikut:
Kemampuan Arthas tidak bergantung pada lingkungan Java Development Kit (JDK). Anda tidak perlu mengunduh dan menginstal Arthas. Kemampuan ini dapat diaktifkan atau dinonaktifkan sesuai kebutuhan bisnis.
Fitur utama dapat diakses melalui browser tanpa perlu menentukan perintah atau ekspresi.
Kemampuan Arthas terhubung dengan konteks ARMS. Anda dapat menjalankan perintah trace untuk melihat ID jejak ARMS.
Prasyarat
Arthas hanya didukung di Edisi Pro Pemantauan Aplikasi.
Disarankan untuk mengaktifkan diagnostik Arthas hanya saat pemecahan masalah dan menonaktifkannya di skenario lain.
Versi agen ARMS adalah 2.7.1.3 atau lebih baru.
Data aplikasi telah diimpor ke Pemantauan Aplikasi. Untuk informasi lebih lanjut, lihat Ikhtisar.
Aplikasi dikembangkan dalam Java.
Informasi latar belakang
ARMS terintegrasi dengan kemampuan diagnostik waktu nyata dari Arthas:
Ikhtisar JVM: Menampilkan penggunaan memori waktu nyata, informasi sistem, variabel sistem, dan variabel lingkungan dari proses JVM.
Analisis thread: Memungkinkan Anda melihat konsumsi waktu thread dan tumpukan metode waktu nyata dari thread tertentu dalam proses JVM.
Analisis eksekusi metode: Menangkap rekaman eksekusi metode non-JDK yang memenuhi kondisi tertentu, mencatat parameter, pengecualian, nilai kembali, dan durasi eksekusi setiap metode internal.
Penampil objek: Memungkinkan Anda melihat nilai properti waktu nyata dari instance kelas apa pun.
Dasbor waktu nyata: Menampilkan informasi waktu nyata tentang komponen umum, seperti konfigurasi, penggunaan, dan konsumsi waktu kueri SQL dalam kumpulan koneksi Druid.
Arthas Shell: Memungkinkan Anda melakukan diagnostik Arthas menggunakan antarmuka baris perintah (CLI).
Analisis kinerja Arthas ditingkatkan menjadi fitur profiling berkelanjutan, yang lebih ramah pengguna dan kuat serta dapat diaktifkan kapan saja.
Fitur profiling berkelanjutan dapat mendeteksi hambatan yang disebabkan oleh CPU, memori, atau I/O dalam program Java dan menampilkan statistik berdasarkan nama metode, nama kelas, dan nomor baris. Ini membantu pengembang mengoptimalkan program, mengurangi latensi, meningkatkan throughput, dan menghemat biaya. Untuk informasi lebih lanjut, lihat Gunakan Fitur Profiling Berkelanjutan.
Aktifkan Arthas
Di panel navigasi sisi kiri, klik Application Settings. Di halaman yang muncul, klik tab Custom Configuration.
Di bagian Arthas monitoring pada tab Custom Configuration, aktifkan Arthas switch. Anda juga dapat menentukan alamat IP tempat Anda ingin melakukan diagnostik Arthas.

Di tab Custom Configuration, klik Save.
Lihat hasil diagnostik
Di panel navigasi sisi kiri, pilih .
Di halaman Diagnosis Arthas, pilih instance aplikasi tempat Anda ingin melakukan diagnostik dari daftar drop-down di bagian atas.
Jika agen ARMS yang diinstal di instance lebih awal dari V2.7.1.3, Anda akan diminta untuk memperbarui agen.
Jika agen ARMS yang diinstal di instance adalah V2.7.1.3 atau lebih baru, halaman tersebut menampilkan informasi instance yang disediakan oleh Arthas.
Ikhtisar JVM
Di tab Ikhtisar JVM, Anda dapat melihat informasi JVM tentang aplikasi, termasuk statistik memori JVM dan informasi tentang sistem operasi dan variabel.
Secara default, saat Anda membuka halaman Diagnosis Arthas, tab JVM overview akan ditampilkan. Tab JVM overview mencakup bagian-bagian berikut:
JVM memory: Menampilkan informasi tentang memori JVM, seperti penggunaan memori heap dan non-heap, serta informasi tentang pengumpulan sampah (GC).

Operating system information: Menampilkan informasi tentang sistem operasi, seperti beban sistem rata-rata, nama dan versi sistem operasi, serta versi Java.

Variable information: Menampilkan informasi tentang variabel sistem dan variabel lingkungan.

Analisis durasi thread
Di tab Analisis Konsumsi Waktu Thread, Anda dapat melihat semua thread aplikasi dan informasi tumpukan setiap thread. Informasi ini membantu Anda mengidentifikasi thread yang memakan waktu.
Di halaman Diagnosis Arthas, klik tab Thread time-consuming analysis.
Anda dapat melihat konsumsi waktu thread dalam proses JVM di tab Thread time-consuming analysis. Thread serupa ditampilkan dalam satu baris sebagai kategori.

Klik ikon + di sebelah kiri nama kategori thread untuk melihat detail semua thread di bawah kategori ini, termasuk ID thread, penggunaan CPU, dan status.
Klik View the live stack di kolom Actions thread untuk melihat informasi tumpukan tentang thread tersebut.

Analisis eksekusi metode
Di tab Analisis Eksekusi Metode, Anda dapat melihat informasi seperti durasi, parameter input, dan nilai kembali dari suatu metode, bahkan menelusuri ke metode internal. Informasi ini membantu Anda menemukan penyebab panggilan lambat dan log yang hilang, atau menyelesaikan masalah yang tidak dapat direproduksi.
Di halaman Diagnosis Arthas, klik tab Method execution analysis.
Di tab Method execution analysis, masukkan kata kunci nama kelas di kotak pencarian, lalu klik ikon
.Temukan kelas tempat Anda ingin melakukan diagnostik dari kelas yang ditampilkan. Pilih metode kelas dari daftar drop-down di sebelah kanan dan klik OK.
ARMS menangkap rekaman eksekusi acak dari metode tersebut. Informasi eksekusi ditampilkan.

Rekaman eksekusi internal dari metode yang Anda pilih ditampilkan di bagian Execution Stack di sebelah kiri.
Untuk menelusuri ke metode internal, temukan metode internal dan klik Drill in di kolom Actions.
Untuk melihat kode sumber metode, klik View Source Code di sebelah Execution Stack.
Durasi eksekusi setiap metode internal ditampilkan dalam anotasi kode sumber.
Bagian Method Execution Result di sebelah kanan menunjukkan nilai parameter, nilai kembali, pengecualian, variabel anggota, dan ID jejak metode.
Di bagian Set Execution Conditions di sebelah kanan, lakukan langkah-langkah berikut untuk menetapkan kondisi menangkap rekaman eksekusi metode.
Pilih metode muat ulang dari daftar drop-down.
Di daftar drop-down Select Initial Filter Key, pilih jenis kunci yang ingin Anda tentukan pertama kali dan klik ikon
.Jenis kunci:
params[n]: Parameter ke-n dari metode.
returnObj: Nilai kembali metode.
Durasi eksekusi metode: Durasi metode.
Apakah ada pengecualian yang dilemparkan: Menentukan apakah pengecualian dilemparkan selama eksekusi metode.
CatatanJika kunci bersarang dipilih, Anda perlu melanjutkan menentukan bidang kunci bersarang hingga bidang dasar dipilih.
Pilih kondisi.
Masukkan nilai.
Klik Add.
Kondisi untuk memilih rekaman eksekusi metode ditampilkan di bagian Current Filtering Conditions.

Di pojok kanan atas bagian Execution Stack, klik ikon
. Sistem kemudian menangkap rekaman eksekusi metode berdasarkan kondisi yang ditentukan.
Penampil objek
Di tab objectViewer, Anda dapat melihat informasi beberapa objek singleton untuk menyelesaikan pengecualian aplikasi, seperti kesalahan konfigurasi, item yang tidak tepat dalam daftar hitam atau putih, dan status abnormal variabel anggota.
Di halaman Diagnosis Arthas, klik tab objectViewer.
Di tab objectViewer, masukkan kata kunci nama kelas di kotak pencarian dan klik ikon Search.
Pilih kelas tempat Anda ingin melakukan diagnostik dari kelas yang ditampilkan, pilih instance kelas di panel sebelah kanan, lalu klik OK.
Nilai lapangan waktu nyata dari instance ditampilkan.

Nilai lapangan sederhana ditampilkan di kolom Details di bagian Real-time Field Values of Object di sebelah kiri.
Untuk melihat nilai lapangan kompleks, klik View Details di kolom Details bagian Real-time Field Values of Object di sebelah kiri. Nilai lapangan detail ditampilkan di bagian Field Details di sebelah kanan.
Hanya sebagian dari nilai lapangan kompleks yang dapat dideserialisasi dan ditampilkan di bagian Field Details. Untuk melihat lebih banyak data, klik hyperlink click di dalam tanda kurung di sebelah Detail.
Dasbor waktu nyata
Di tab Dasbor Waktu Nyata, Anda dapat melihat informasi waktu nyata tentang komponen utama yang digunakan, seperti penggunaan kumpulan koneksi database dan penggunaan kumpulan koneksi HTTP. Informasi ini membantu Anda menemukan masalah sumber daya.
Di halaman Diagnosis Arthas, klik tab Real-time board.
Di tab Real-time board, pilih dasbor dari daftar drop-down, pilih instance dasbor, dan klik Add to board.
Informasi waktu nyata tentang komponen ditampilkan. Gambar berikut menunjukkan informasi waktu nyata tentang kumpulan koneksi Druid, termasuk konfigurasi dasar, status kumpulan koneksi, dan durasi eksekusi.

Arthas Shell
Fitur ini hanya tersedia di wilayah berikut: Cina (Beijing), Cina (Shanghai), Cina (Hangzhou), Cina (Shenzhen), dan Cina (Zhangjiakou).
Anda dapat melakukan diagnostik Arthas menggunakan CLI.
