0Pricing
React Academy · Pelajaran

Pemantauan Pengguna Nyata dan Web Vitals

Catat LCP, FID, CLS, dan penanda kinerja khusus sebagai metrik OTel menggunakan pustaka web-vitals.

Pemantauan Pengguna Nyata dan Web Vitals adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.

Pustaka web-vitals

Paket npm web-vitals dari Google menyediakan API sederhana untuk mengukur Core Web Vitals di peramban pengguna nyata. Instal dengan npm install web-vitals dan impor fungsi panggilan balik metrik satu per satu: onLCP, onFID (tidak digunakan lagi), onCLS, onFCP, onTTFB, serta onINP modern untuk Interaksi hingga Perenderan Berikutnya.

Fungsi Panggilan Balik dan Objek Metrik

Setiap fungsi panggilan balik (onLCP, onCLS, onINP, dan sebagainya) menerima objek metrik yang berisi: name ('LCP'), value (milidetik atau skor tanpa satuan), rating ('good', 'needs-improvement', 'poor'), dan id (pengenal unik untuk deduplikasi). Fungsi panggilan balik dijalankan setelah nilai metrik ditetapkan.

Melaporkan Web Vitals ke Titik Akhir Analitik

Gunakan API Navigator.sendBeacon atau fetch untuk melaporkan metrik ke titik akhir analitik Anda. sendBeacon lebih disarankan karena tetap berjalan setelah halaman dibongkar—hal yang penting untuk metrik seperti CLS yang ditetapkan saat halaman disembunyikan. Gabungkan semua laporan metrik ke dalam satu beacon jika memungkinkan.

Mengirim Web Vitals sebagai Metrik OpenTelemetry

Untuk mengintegrasikan Web Vitals ke dalam OpenTelemetry, buat instrumen Gauge untuk setiap metrik: const lcp = meter.createObservableGauge('web_vitals.lcp'). Dalam setiap fungsi panggilan balik onLCP, catat nilainya bersama atribut yang relevan (jalur halaman, jenis perangkat). Backend observabilitas Anda kemudian dapat memberikan peringatan atas kemunduran P75 LCP.

Tanda Performa React Kustom

Untuk mengukur performa khusus React yang tidak ditangkap oleh Web Vitals, gunakan API User Timing: performance.mark('render-start') sebelum perenderan, performance.mark('render-end') setelahnya, lalu performance.measure('component-render', 'render-start', 'render-end'). Pengukuran ini muncul di tab Performance pada Chrome DevTools.

API Profiler React

Komponen React Profiler membungkus suatu subtree dan memanggil fungsi panggilan balik onRender dengan data waktu: id (id Profiler), phase ('mount' atau 'update'), actualDuration (waktu perenderan), dan baseDuration (perkiraan waktu perenderan tanpa memorisasi). Gunakan ini dalam pengembangan untuk mengidentifikasi komponen yang lambat.

Pelacakan Kesalahan sebagai Rentang OpenTelemetry

Kesalahan yang tidak tertangani dan penolakan Promise dapat ditangkap sebagai rentang OpenTelemetry dengan status kesalahan. Siapkan pendengar global: window.addEventListener('error', handler) dan window.addEventListener('unhandledrejection', handler). Buat rentang, tetapkan span.setStatus({ code: SpanStatusCode.ERROR }), tambahkan pesan kesalahan dan jejak tumpukan sebagai atribut, lalu akhiri rentang.

Integrasi Batas Kesalahan React

Batas Kesalahan React menangkap kesalahan perenderan di pohon komponen. Dalam metode componentDidCatch, buat rentang OpenTelemetry yang merepresentasikan kesalahan tersebut, tetapkan statusnya ke ERROR, lampirkan error.message dan componentStack sebagai atribut, lalu panggil span.end(). Dengan demikian, kesalahan perenderan React dialirkan ke alur pemrosesan jejak terdistribusi Anda.

Peta Sumber untuk Resolusi Jejak Tumpukan

JavaScript produksi yang diperkecil menghasilkan jejak tumpukan yang sulit dibaca seperti "a.b at bundle.min.js:1:84721". Unggah peta sumber ke Sentry, Datadog, atau alur pemrosesan OpenTelemetry selama proses pembangunan CI/CD agar jejak tumpukan mentah secara otomatis diuraikan menjadi nama berkas dan nomor baris TypeScript asli.

Pengambilan Sampel Sesi RUM

Mengirim data jejak lengkap untuk setiap sesi membutuhkan biaya besar. Terapkan pengambilan sampel sesi: tetapkan flag sessionSampled secara acak saat pemuatan halaman pertama dan simpan di sessionStorage. Hanya inisialisasi SDK OpenTelemetry dan kirim jejak untuk sesi yang terambil sampelnya (misalnya, 10%). Selalu ambil sampel 100% sesi yang memiliki kesalahan.

Pemberian Peringatan atas Kemunduran Web Vitals

Web Vitals yang dilaporkan sebagai metrik OpenTelemetry memungkinkan pemberian peringatan berbasis SLO: jika P75 LCP melebihi 2,5 detik untuk lebih dari 5% sesi selama rentang 1 jam, keluarkan peringatan. Hal ini memberikan sinyal yang dapat ditindaklanjuti oleh tim rekayasa dan terkait langsung dengan pengalaman pengguna, bukan hanya dengan metrik infrastruktur sisi server.

Fungsi Panggilan Balik onLCP Web Vitals

Kapan fungsi panggilan balik onLCP dari pustaka web-vitals dijalankan?

Ringkasan Pelajaran

Pustaka web-vitals menyediakan fungsi panggilan balik sederhana untuk mengukur LCP, INP, CLS, FCP, dan TTFB di peramban pengguna nyata. Laporkan metrik tersebut sebagai metrik OpenTelemetry untuk pemberian peringatan berbasis SLO, tangkap kesalahan melalui pendengar global dan Batas Kesalahan React sebagai rentang OpenTelemetry, lalu unggah peta sumber untuk menguraikan jejak tumpukan yang diperkecil. Ambil sampel sesi untuk mengelola volume data sambil mempertahankan cakupan kesalahan 100%.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pemantauan Pengguna Nyata dan Web Vitals” gratis?

Ya — teks lengkap “Pemantauan Pengguna Nyata dan Web Vitals” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pemantauan Pengguna Nyata dan Web Vitals”?

Catat LCP, FID, CLS, dan penanda kinerja khusus sebagai metrik OTel menggunakan pustaka web-vitals. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai React Academy?

Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Pemantauan Pengguna Nyata dan Web Vitals” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?

Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Observabilitas Frontend: Apa dan Mengapa
  2. Jejak OpenTelemetry dari Peramban
  3. Pemantauan Pengguna Nyata dan Web Vitals
  4. Menghubungkan Jejak Frontend dan Backend
← Kembali ke React Academy