Anomali aplikasi di lingkungan produksi, seperti lonjakan latensi dan peningkatan laju error, dapat disebabkan oleh berbagai faktor. Penyebab umum meliputi distribusi traffic yang tidak merata, kegagalan pada instans tunggal, cacat aplikasi, serta kegagalan pada komponen dependen. Sebelum meluncurkan aplikasi baru atau mempersiapkan promosi besar, kami menyarankan Anda melakukan tuning performa secara sistematis dengan menganalisis bottleneck performa yang ada serta mengoptimalkan antarmuka dan komponen yang sering menyebabkan error atau latensi tinggi. Topik ini menjelaskan cara menggunakan fitur analisis Wrong/slow Trace di ARMS Trace Explorer untuk mengidentifikasi akar penyebab panggilan salah dan lambat dalam sistem atau aplikasi Anda, sehingga memudahkan troubleshooting dan identifikasi bottleneck performa.
Prasyarat
-
Anda telah menginstal agent untuk aplikasi Anda. Untuk informasi selengkapnya, lihat Application Monitoring overview.
-
Anda telah beralih ke versi baru Konsol ARMS.
Pada halaman Applications, klik tombol Switch to New Version di samping judul halaman.
Coba demo
Analisis panggilan salah
Langkah 1: Identifikasi kapan panggilan salah terjadi
-
Login ke Konsol ARMS. Di panel navigasi kiri, pilih .
-
Pada halaman Application List, pilih Wilayah di bagian atas halaman, lalu klik nama aplikasi.
CatatanIkon pada kolom Language menunjukkan hal berikut:
: Aplikasi Java yang terhubung ke Application Monitoring.
: Aplikasi Go yang terhubung ke Application Monitoring.
: Aplikasi Python yang terhubung ke Application Monitoring.-: Aplikasi yang terintegrasi dengan Tracing Analysis.
-
Di bilah navigasi atas, klik Trace Explorer.
CatatanHalaman Trace Explorer hanya tersedia di versi baru Konsol. Untuk informasi cara beralih ke versi baru, lihat Prasyarat.
Anda dapat melihat bahwa aplikasi contoh mall-gateway mengalami beberapa panggilan error HTTP antara pukul 15.20 hingga 15.28.

-
Untuk memulai troubleshooting, atur rentang waktu kueri sesuai saat error HTTP terjadi.
Pada tab Trace Explorer, persempit rentang waktu di pojok kanan atas menjadi 8 menit (misalnya, dari 2024-06-26 15:20 hingga 2024-06-26 15:28). Halaman akan menampilkan grafik batang jumlah panggilan dan error HTTP 500, serta grafik garis Time Percentile. Gunakan grafik ini untuk mengidentifikasi jendela waktu tepat ketika error melonjak.
Langkah 2: Identifikasi antarmuka atau komponen sumber
Pada tab Wrong/slow Trace analysis, jejak salah terkonsentrasi pada antarmuka /components/api/v1/mall/product, semuanya mengembalikan error HTTP 500.
Troubleshoot antarmuka /components/api/v1/mall/product
-
Pada grafik di bawah, klik spanName: /components/api/v1/mall/product.

Pada titik ini, Trace Explorer secara otomatis mengatur
serviceName="mall-gateway" AND spanName="/components/api/v1/mall/product"sebagai kondisi filter.Anda dapat melihat bahwa semua jejak untuk antarmuka /components/api/v1/mall/product gagal.
Pencarian mengembalikan 1.440 panggilan, semuanya dengan kode kesalahan HTTP
500. Tab Wrong/slow Trace analysis menunjukkan bahwa analisis didasarkan pada 1.000 jejak salah (diambil secara acak) dan 0 jejak normal. -
Pada tab List, klik Details di sebelah jejak apa pun untuk melihat detailnya.
Detail jejak menunjukkan bahwa jejak tersebut berisi tiga rentang, dan antarmuka
/components/api/v1/http/successdari layanan mall-user-server mengembalikan kode status 500. Pada panel detail rentang di sebelah kanan, tab Attribute menunjukkan bahwa atributhttp.status_codebernilai500, yang mengonfirmasi antarmuka ini sebagai sumber error.
Analisis antarmuka lambat
Langkah 1: Identifikasi kapan panggilan lambat terjadi
-
Login ke Konsol ARMS. Di panel navigasi kiri, pilih .
-
Pada halaman Application List, pilih Wilayah di bagian atas halaman, lalu klik nama aplikasi.
CatatanIkon pada kolom Language menunjukkan hal berikut:
: Aplikasi Java yang terhubung ke Application Monitoring.
: Aplikasi Go yang terhubung ke Application Monitoring.
: Aplikasi Python yang terhubung ke Application Monitoring.-: Aplikasi yang terhubung ke Tracing Analysis.
-
Di bilah navigasi atas, klik Trace Explorer.
Anda dapat melihat bahwa aplikasi contoh mall-user-server memiliki banyak panggilan lambat yang memakan waktu lebih dari 5 detik antara pukul 15.40 hingga 15.49.

-
Atur rentang waktu kueri sesuai saat panggilan lambat terjadi.
Misalnya, pada pemilih waktu di pojok kanan atas, pilih interval 9 menit dari
2024-06-26 15:40hingga2024-06-26 15:49. -
Pada tab Wrong/slow Trace analysis, atur duration threshold menjadi 5000 ms untuk memulai troubleshooting.
Hasil analisis jejak lambat ditampilkan di bagian bawah halaman, mengurutkan fitur-fitur kontributor utama berdasarkan dampaknya, seperti nama antarmuka, kode status respons HTTP, dan namespace. Setiap item membandingkan prevalensi fitur tersebut dalam jejak lambat versus jejak normal.
Langkah 2: Identifikasi antarmuka atau komponen sumber
Pada tab Wrong/slow Trace analysis, jejak lambat terutama terkonsentrasi pada rentang dengan nama antarmuka /components/api/v1/http/success, jenis protokol EagleEye, dan namespace arms-test.
Analisis ini didasarkan pada perbandingan antara 54 jejak lambat (didefinisikan sebagai durasi ≥ 5 detik) dan 837 jejak normal (diambil secara acak). Fitur peringkat teratas, /components/api/v1/http/success, menyumbang 100,0% jejak lambat dan 0,0% jejak normal. Fitur peringkat kedua, protokol EagleEye, menyumbang 100,0% jejak lambat dan 37,28% jejak normal. Fitur peringkat ketiga, namespace arms-test, menyumbang 100,0% jejak lambat dan 37,28% jejak normal.
Troubleshoot antarmuka /components/api/v1/http/success
Pada grafik di bawah, klik spanName: /components/api/v1/http/success.

Trace Explorer secara otomatis mengatur serviceName="mall-user-server" AND spanName="/components/api/v1/http/success" sebagai kondisi filter.
Dengan filter ini diterapkan, semua panggilan memakan waktu lebih dari 5 detik, menunjukkan bahwa antarmuka /components/api/v1/http/success merupakan akar penyebab panggilan lambat.
Pada area Time Percentile, Anda juga dapat melihat bahwa durasi rata-rata panggilan melebihi 5 detik.
Troubleshoot rentang dengan attributes._arms.trace.protocol.type=EagleEye
Pada grafik di bawah, klik attributes._arms.trace.protocol.type: EagleEye.

Dalam kasus ini, Trace Explorer secara otomatis mengatur serviceName="mall-user-server" AND attributes._arms.trace.protocol.type="EagleEye" sebagai kondisi filter.
Dengan kondisi filter ini, Anda dapat melihat bahwa jejak lambat juga mengarah ke antarmuka /components/api/v1/http/success.
Analisis jejak lambat, berdasarkan perbandingan 54 jejak lambat dan 312 jejak normal, menunjukkan bahwa selain fitur utama yang mengarah ke antarmuka /components/api/v1/http/success (100% jejak lambat), fitur peringkat kedua adalah IP server 10.0.0.42 (46,3% jejak lambat), dan yang ketiga adalah tipe komponen http (100% jejak lambat).
Jika Anda menambahkan antarmuka /components/api/v1/http/success ke filter, semua panggilan memakan waktu lebih dari 5 detik.
Pada area Time Percentile, Anda juga dapat melihat bahwa durasi rata-rata panggilan melebihi 5 detik.
Troubleshoot rentang dalam namespace arms-test
Dengan kondisi filter serviceName="mall-user-server" AND attributes.namespace="arms-test", Anda dapat melihat bahwa jejak lambat tetap mengarah ke antarmuka /components/api/v1/http/success.
Hasil analisis Wrong/slow Trace, berdasarkan perbandingan 54 jejak lambat dan 312 jejak normal, menunjukkan bahwa fitur kontributor utama adalah antarmuka /components/api/v1/http/success, dengan skor kontribusi 1. Antarmuka ini menyumbang 100% jejak lambat dan 0% jejak normal.
Jika Anda menambahkan antarmuka /components/api/v1/http/success ke filter, semua panggilan memakan waktu lebih dari 5 detik.
Investigasi ini menyimpulkan bahwa semua panggilan lambat berasal dari antarmuka /components/api/v1/http/success. Atribut attributes._arms.trace.protocol.type="EagleEye" dan namespace arms-test itu sendiri bukan akar penyebabnya. Keduanya muncul dalam analisis karena layanan antarmuka /components/api/v1/http/success dideploy di namespace arms-test, dan jenis protokol tracing-nya adalah EagleEye.