Tema ini menjelaskan metrik statistik utama di setiap halaman untuk Pemantauan Browser dari Application Real-Time Monitoring Service (ARMS) dan field dalam log Pemantauan Browser.
Kepuasan
Application Performance Index (Apdex) adalah standar global untuk mengevaluasi kinerja aplikasi. Pengalaman pengguna suatu aplikasi dapat dievaluasi berdasarkan Apdex dengan tiga tingkatan:
Puas (0 hingga T)
Bertoleransi (T hingga 4T)
Frustrasi (lebih dari 4T)
Rumus berikut digunakan untuk menghitung skor Apdex:
Skor APDEX = (Jumlah sampel puas + Jumlah sampel bertoleransi/2)/Jumlah total sampel
First Paint Time (FPT) digunakan sebagai metrik untuk mengevaluasi Apdex ARMS. Nilai default T adalah 2 detik.
Stabilitas JS
Dalam ARMS, stabilitas JavaScript (JS) dievaluasi oleh laju kesalahan JS pada halaman.
Jika terjadi kesalahan JS dalam siklus page view (PV), siklus PV ini dianggap sebagai sampel kesalahan.
Laju kesalahan = Jumlah sampel kesalahan/Jumlah total sampel
Selain kesalahan JS yang dilaporkan secara otomatis, pengecualian halaman juga mencakup kesalahan yang dilaporkan saat Anda memanggil metode secara manual seperti yang dijelaskan dalam metode SDK.
Kecepatan akses
Dalam ARMS, kecepatan akses dievaluasi oleh FPT suatu halaman.
Semua statistik performa atau kecepatan dikumpulkan menggunakan Navigation Timing API yang didefinisikan oleh World Wide Web Consortium (W3C).
Tabel 1. Metrik Performa Utama Halaman Web
Field yang dilaporkan | Deskripsi | Rumus | Catatan |
FMP | The First Meaningful Paint (FMP). | N/A | Tidak ada |
FPT | The FPT. | responseEnd - fetchStart | Field ini menunjukkan durasi dari waktu permintaan dimulai hingga browser mulai mengurai byte dari batch pertama dokumen HTML. |
TTI | The Time to Interactive (TTI). | domInteractive - fetchStart | Field ini menunjukkan titik waktu ketika browser mulai memuat sumber daya setelah menyelesaikan semua dokumen HTML dan membangun model objek dokumen (DOM). |
Ready | Waktu yang dibutuhkan untuk menyelesaikan pemuatan HTML, yaitu waktu yang dibutuhkan untuk membangun DOM. | domContentLoadEventEnd - fetchStart | Jika skrip JS dijalankan secara sinkron pada halaman, waktu eksekusi skrip JS dapat dihitung berdasarkan rumus berikut: Waktu eksekusi skrip JS = Ready - TTI. |
Load | Waktu yang dibutuhkan untuk sepenuhnya memuat halaman. | loadEventStart - fetchStart | Field ini dapat dihitung berdasarkan rumus berikut: Load = FPT + DOM + (Ready - TTI) + Res. |
FirstByte | Waktu yang dibutuhkan untuk menerima paket data pertama dari server. | responseStart - domainLookupStart | Tidak ada |
Tabel 2. Field yang Menggambarkan Waktu yang Dibutuhkan di Setiap Fase
Field yang dilaporkan | Deskripsi | Rumus | Catatan |
DNS | Waktu yang dibutuhkan untuk query Domain Name System (DNS). | domainLookupEnd - domainLookupStart | Tidak ada |
TCP | Waktu yang dibutuhkan untuk koneksi Transmission Control Protocol (TCP). | connectEnd - connectStart | Tidak ada |
TTFB | Waktu hingga byte pertama (TTFB), yang menunjukkan waktu yang dibutuhkan untuk merespons permintaan. | responseStart - requestStart | TTFB dapat dihitung dengan cara yang berbeda. Untuk informasi lebih lanjut tentang bagaimana TTFB dihitung dalam ARMS, lihat Definisi pengembangan Google. |
Trans | Waktu yang dibutuhkan untuk transmisi data. | responseEnd - responseStart | Tidak ada |
DOM | Waktu yang dibutuhkan untuk resolusi DOM. | domInteractive - responseEnd | Tidak ada |
Res | Waktu yang dibutuhkan untuk memuat sumber daya. | loadEventStart - domContentLoadedEventEnd | Waktu yang dibutuhkan untuk memuat sumber daya secara sinkron pada halaman. |
SSL | Waktu yang dibutuhkan untuk koneksi Secure Sockets Layer (SSL). | connectEnd - secureConnectionStart | Field ini hanya valid jika HTTPS digunakan untuk mentransmisikan data. |
Tabel 3. Metrik Performa Utama Mini Program
Field yang dilaporkan | Deskripsi | Rumus | Catatan |
FPT | The FPT. | onShow (halaman pertama) - onLaunch (aplikasi) | Durasi dari waktu mini program memanggil metode onLaunch hingga waktu mini program memanggil metode onShow untuk menampilkan halaman pertama. |
Tingkat keberhasilan panggilan API
Tingkat keberhasilan panggilan API = Jumlah sampel panggilan API yang berhasil/Jumlah total sampel panggilan API
Selain permintaan AJAX yang dilaporkan secara otomatis, sampel untuk menghitung tingkat keberhasilan panggilan API juga mencakup data yang dilaporkan saat Anda memanggil metode secara manual seperti yang dijelaskan dalam metode SDK.
Field log
Tabel berikut menjelaskan field yang termasuk dalam log ARMS.
Tabel 4. Field Umum
Field | Deskripsi |
uid | ID pengguna. Nilainya adalah pengenal pengguna dan dapat digunakan untuk mencari pengguna. Anda dapat menentukan nilai kustom. Jika Anda tidak mengatur field ini, SDK secara otomatis memberikan ID kepada pengguna dan memperbarui ID setiap enam bulan. |
username | Nama pengguna. SDK tidak secara otomatis memberikan nama pengguna kepada pengguna. Jika Anda tidak mengatur field ini, field ini akan dibiarkan kosong. |
release | ID versi aplikasi. |
environment | Lingkungan produksi. |
page | Halaman. |
sampling | Tingkat pengambilan sampel. |
tag | Tag kustom. |
Tabel 5. Field Terkait Panggilan API
Field | Deskripsi |
api | URL panggilan API tanpa parameter. |
msg | String respons terhadap panggilan API. |
code | Kode status HTTP. |
time | Waktu yang dibutuhkan oleh panggilan API. |
success | Menunjukkan apakah panggilan API berhasil. |
Tabel 6. Field Terkait Kesalahan JS
Field | Deskripsi |
msg | Pesan kesalahan. |
stack | Stack tempat kesalahan terjadi. |
cate | Tipe kesalahan. Nilai yang valid:
|
file | File tempat kesalahan terjadi. |
line | Baris tempat kesalahan terjadi. |
col | Kolom tempat kesalahan terjadi. |
times | Jumlah kali kesalahan terjadi. |
Deskripsi log
Tabel 7. Log untuk Analisis Multidimensi
Tipe log | Tipe | Field kueri (Field metrik umum dapat digunakan untuk mengkueri atau menyaring semua jenis log) |
Log PV | PV | Ketika peristiwa onload terjadi, log PV diunggah untuk menghitung PV dan pengunjung unik (UV). Metode Perhitungan:
|
Log performa | Perf | |
Log pemuatan lambat (Log performa di mana waktu pemuatan lebih dari 8 detik) | RES | |
Log kesalahan JS | Error |
|
Log API | API |
|
Log SUM | SUM | Kunci kustom: nama event (contoh: scroll-count) |
Log AVG | AVG | Kunci kustom: nama event (contoh: scroll-time) |
Log kesalahan sumber daya | ResourceError | Kesalahan sumber daya |
Tidak ada | Kustom | Tidak ada Catatan
|