Digital Transformation

ReportingObserver API

Vito Atmo
Vito Atmo·25 Mei 2026·0 kali dibaca·2 min baca

TL;DR: ReportingObserver adalah Web API yang mendaftarkan callback untuk menerima report dari browser ketika halaman memakai fitur deprecated, kena intervention browser (autoplay diblokir, dll), atau crash. Pasangkan dengan Reporting API untuk monitoring proaktif tanpa harus refactor halaman besar dulu.

Apa itu ReportingObserver?

ReportingObserver adalah class JavaScript yang dipakai di main thread untuk subscribe ke event report dari browser. Setiap report berisi type (deprecation, intervention, crash, csp-violation) dan body dengan detail spesifik. Reports juga otomatis dikirim ke endpoint Reporting API jika header Reporting-Endpoints di-set, tapi ReportingObserver berguna untuk handling client-side seperti push ke analytics atau show internal banner.

API ini complementary dengan Long Animation Frames API: LoAF untuk performance, ReportingObserver untuk masalah deprecasi dan stability.

Cara Kerja

Pemakaian standar:

StepAksi
Buat observernew ReportingObserver(callback, options)
Pilih tipe{ types: ['deprecation', 'intervention'] }
Aktifkanobserver.observe()
Ambil report bufferedobserver.takeRecords()

Callback menerima array Report objects yang bisa di-serialize via report.toJSON() lalu dikirim ke endpoint analytics atau sentry self-hosted.

Kenapa Penting?

Banyak website bisnis pakai dependency lama yang masih panggil API deprecated. Tanpa monitoring, deprecation jadi crash setelah Chrome remove fitur. Vito Atmo memasang ReportingObserver di klien LMS Atmo untuk track penggunaan event handlers deprecated, dan menemukan satu plugin lama yang akan break di Chrome 130. Patch dilakukan 2 bulan sebelum release tanpa downtime.

Pertanyaan Umum

Apakah ReportingObserver kirim data ke Google?

Tidak. Report cuma diberikan ke callback halaman, kecuali developer set endpoint custom via header Reporting-Endpoints.

Apakah berat untuk pengguna?

Tidak. Browser sudah generate report secara internal, observer hanya mensubscribe ke event yang sudah ada.

Bagikan