Ketika jumlah error JavaScript (JS) melonjak di lingkungan produksi, Anda perlu segera mengidentifikasi penyebabnya, pengguna yang terdampak, serta alasan terjadinya. Layanan Pemantauan Aplikasi Waktu Nyata (ARMS) Browser Monitoring menangkap error JavaScript (JS) dari aplikasi web Anda secara real time. Diagnostik error JS menyediakan alat untuk:
Memantau jumlah error, laju error, dan pengguna yang terdampak secara sekilas
Menggali detail error individual untuk memeriksa tumpukan panggilan (stack traces) dan mengidentifikasi sumbernya
Mengunggah file source map untuk memetakan tumpukan panggilan yang telah diminifikasi kembali ke kode asli Anda
Memutar ulang jejak perilaku pengguna untuk melihat secara tepat apa yang terjadi sebelum error muncul
Menganalisis distribusi error berdasarkan browser, OS, perangkat, versi aplikasi, dan lokasi geografis
Buka halaman diagnostik error JS
Login ke Konsol ARMS.
Pada panel navigasi kiri, pilih .
Pada halaman Browser Monitoring, pilih wilayah di bilah navigasi atas, lalu klik nama aplikasi.
Pada panel navigasi kiri, pilih .
Pada halaman JS error diagnosis, atur rentang waktu di pojok kanan atas untuk membatasi cakupan analisis Anda.
Ikhtisar error
Bagian Error Overview menampilkan tiga metrik utama untuk rentang waktu yang dipilih:
| Metrik | Deskripsi |
|---|---|
| Errors | Jumlah total error JS |
| JS Error Rate | Rasio jumlah tampilan halaman (PVs) yang mengandung error JS terhadap total PVs |
| Affected Users | Jumlah dan persentase pengguna yang mengalami error JS |

Berinteraksi dengan grafik tren error
Lihat data pada titik waktu tertentu — Arahkan kursor ke kurva untuk melihat jumlah error, laju error, dan jumlah pengguna yang terdampak pada saat tersebut.
Buka Exception Insight — Arahkan kursor ke titik balik pada kurva hingga pointer berubah menjadi ikon tangan, lalu klik. Kotak dialog Exception Insight akan terbuka. Lihat Exception Insight untuk detail selengkapnya.
Perbesar rentang waktu tertentu — Klik dan seret untuk memilih area pada grafik. Tampilan akan diperbesar untuk menampilkan rentang yang dipilih. Klik Reset Zoom di pojok kanan atas untuk mengembalikan tampilan awal.
Bagian Error Overview menampilkan ikhtisar tingkat aplikasi secara default. Untuk melihat ikhtisar error pada halaman tertentu, klik Analyze pada tab Page Ranked by Error Rate atau tab Page Error Rate Top 5 di kotak dialog Exception Insight.
Exception Insight
Klik titik balik pada grafik tren error untuk membuka kotak dialog Exception Insight. Dialog ini memberikan snapshot error JS pada momen spesifik tersebut:
| Metrik | Deskripsi |
|---|---|
| Errors | Total error JS pada titik waktu yang dipilih |
| JS Error Rate | Rasio PVs yang mengandung error JS terhadap total PVs pada titik waktu tersebut |
| Affected Users | Jumlah dan persentase pengguna yang terdampak |
| Frequent Errors Top 5 | Lima error JS paling sering terjadi, lengkap dengan detail error, jumlah kemunculan, dan pengguna yang terdampak |
| Page Error Rate Top 5 | Lima halaman dengan laju error JS tertinggi, lengkap dengan nama halaman, laju error, dan jumlah PV |

Aksi yang tersedia:
Pada tab Frequent Errors Top 5, klik Diagnose di kolom Operation untuk membuka halaman detail error. Lihat Error details.
Pada tab Page Error Rate Top 5, klik Analyze di kolom Operation untuk melihat ikhtisar error pada halaman tersebut.
Halaman yang diurutkan berdasarkan laju error
Tab Page Ranked by Error Rate mencantumkan halaman yang diurutkan berdasarkan laju error JS (dari tertinggi ke terendah) untuk rentang waktu yang dipilih:
| Kolom | Deskripsi |
|---|---|
| Page | Halaman tempat error JS terjadi |
| Error Rate | Rasio PVs yang mengandung error JS terhadap total PVs pada halaman tersebut |
| Page View | Total jumlah tampilan halaman |
Klik Analyze di kolom Operation untuk melihat ikhtisar error pada halaman tertentu.

Error yang sering terjadi
Tab Frequent Errors mencantumkan error JS yang diurutkan berdasarkan jumlah kemunculan (dari tertinggi ke terendah) untuk rentang waktu yang dipilih:
| Kolom | Deskripsi |
|---|---|
| Error Information | Pesan error JS yang ditangkap oleh ARMS |
| Page | Halaman tempat error terjadi |
| Errors | Jumlah kali error tersebut terjadi |
| Affected Users | Jumlah dan persentase pengguna yang terdampak |
Klik Diagnose di kolom Operation untuk membuka halaman detail error. Lihat Error details.
Tab Frequent Errors menampilkan error tingkat aplikasi secara default. Untuk melihat error pada halaman tertentu, klik Analyze pada tab Page Ranked by Error Rate atau tab Page Error Rate Top 5 di kotak dialog Exception Insight.
Detail error
Tab Error Detail menyediakan konteks lengkap untuk error JS tertentu.
Ringkasan
Bagian Summary mencakup bidang-bidang berikut:
| Field | Description |
|---|---|
| Name | Nama error |
| Type | Jenis error |
| Date | Timestamp saat error terdeteksi |
| Device | Jenis perangkat |
| OS | Sistem operasi |
| Browser | Nama dan versi browser |
| IP | Alamat IP klien |
| Connection Type | Jenis koneksi jaringan |
| Region | Wilayah geografis |
| Line | Nomor baris dalam file sumber |
| Column | Nomor kolom dalam file sumber |
| URL | URL halaman tempat error terjadi |
| File | Path file yang berisi error |
| App Version | Versi aplikasi |
Tumpukan panggilan
Bagian Stack Info menampilkan tumpukan panggilan pada saat error terjadi. Gunakan bagian ini untuk melacak error hingga ke fungsi dan baris kode yang gagal.

Memetakan tumpukan panggilan yang diminifikasi dengan source map
File JS yang diminifikasi atau dibundel menghasilkan tumpukan panggilan yang sulit dibaca. Unggah file source map untuk memetakan tumpukan panggilan tersebut kembali ke kode sumber asli Anda.
Pada bagian Stack Info, klik ikon segitiga di sisi kiri frame stack untuk memperluasnya.
Klik Choose Sourcemap.
Pada kotak dialog Sourcemap File, pilih file source map yang sudah ada atau unggah yang baru.
Klik OK.

ARMS menggunakan file source map untuk menguraikan tumpukan panggilan yang diminifikasi menjadi file, fungsi, dan baris kode yang tepat dalam kode sumber asli Anda.
Jejak perilaku pengguna
Bagian User Behavior Trace mencatat garis waktu tindakan pengguna yang mengarah ke error. Tinjau garis waktu ini untuk merekonstruksi langkah-langkah yang memicu error.

Pelacakan perilaku pengguna diaktifkan secara default. Untuk menonaktifkannya, atur behavior: false dalam konfigurasi SDK. Untuk informasi selengkapnya, lihat Referensi SDK.
Distribusi error
Klik tab Error View untuk melihat bagaimana error JS tertentu didistribusikan berdasarkan dimensi yang berbeda:
| View | Deskripsi |
|---|---|
| Time View | Distribusi error sepanjang waktu (hanya untuk error spesifik halaman) |
| Browser View | Distribusi berdasarkan jenis browser |
| OS View | Distribusi berdasarkan sistem operasi |
| Device View | Distribusi berdasarkan jenis perangkat |
| Version View | Distribusi berdasarkan versi aplikasi |
| Geographical View | Distribusi berdasarkan lokasi — tab China View menampilkan data berdasarkan provinsi, kota, atau daerah otonom; tab World View menampilkan data berdasarkan negara atau wilayah |

Pada tab Error View:
Pada bagian Time View, arahkan kursor ke grafik untuk melihat jumlah error pada setiap titik waktu.
Pada bagian Browser View, OS View, Device View, dan Version View, arahkan kursor ke grafik untuk melihat jumlah error dan persentasenya.
Pada bagian Geographical View, pada tab China View atau World View, klik panah di sebelah header kolom Errors untuk mengurutkan berdasarkan urutan naik atau turun.
FAQ
Bagaimana cara mengaktifkan atau menonaktifkan pelacakan perilaku pengguna?
Pelacakan perilaku pengguna diaktifkan secara default. Untuk menonaktifkannya, tambahkan behavior: false ke konfigurasi SDK:
<script>
!(function (c, b, d, a) {
c[a] || (c[a] = {});
c[a].config = {
pid: "<your-pid>",
imgUrl: "https://arms-retcode.aliyuncs.com/r.png?",
sendResource: true,
enableLinkTrace: true,
behavior: false
};
with(b) with(body) with(insertBefore(createElement("script"), firstChild)) setAttribute("crossorigin", "", src = d)
})(window, document, "https://retcode.alicdn.com/retcode/bl.js", "__bl");
</script>Ganti <your-pid> dengan PID aplikasi Anda yang sebenarnya.
Untuk daftar lengkap item konfigurasi SDK, lihat Referensi SDK.
console.log menampilkan error di bl.js, bukan di kode sumber saya. Bagaimana cara memperbaikinya?

ARMS menulis ulang console.log untuk menangkap output konsol browser sebagai bagian dari pelacakan perilaku pengguna. Hal ini menyebabkan tumpukan panggilan di konsol mengarah ke file SDK ARMS (bl.js) alih-alih kode aplikasi Anda.
Solusi 1 (disarankan): Atur blackboxing di Chrome DevTools
Buka Chrome, tekan Ctrl+Shift+I untuk membuka Developer Tools, lalu klik ikon Pengaturan.
Pada panel navigasi kiri Settings, klik Blackboxing.
Klik Add pattern.
Pada bidang Pattern, masukkan
/bl.*\.js$, lalu klik Add.

Chrome kini akan melewati frame bl.js dalam tumpukan panggilan, sehingga menampilkan kode sumber asli Anda.
Solusi 2: Nonaktifkan pelacakan perilaku pengguna
Atur behavior: false dalam konfigurasi SDK untuk menghentikan ARMS dari menulis ulang console.log. Lihat FAQ sebelumnya untuk contoh konfigurasinya.
