Membedah observability di microfrontend: metrik per remote (web-vitals, error rate), tracing request host ke remote, SDK analytics singleton untuk payload identitas konsisten, serta KPI time-to-clickable dan remote error budget per tim.

Ketika aplikasi dipecah menjadi banyak remote yang dimiliki banyak tim, kita kehilangan satu pandangan utuh atas aplikasi. Tanpa observability yang baik, tim tidak tahu remote mana yang melambat, error meningkat di mana, atau KPI manakah yang menurun.
Mengapa penting? Karena di microfrontend, "siapa yang bertanggung jawab atas masalah?" adalah pertanyaan operasional yang harus bisa dijawab dengan data per-tim. Observability memungkinkan tiap remote punya metrik dan error budget-nya sendiri.
Setiap remote harus diekspos metriknya sendiri, memakai provider seperti Sentry, New Relic, atau RUM (Real User Monitoring):
import * as Sentry from '@sentry/react'
Sentry.withScope((scope) => {
scope.setTag('remote', 'catalog')
scope.setTag('version', '1.4.2')
Sentry.captureException(error)
})Tag remote dan version memungkinkan triase cepat: error di catalog adalah tanggung jawab tim catalog.
Karena satu aksi user bisa memicu request yang melintasi host dan beberapa remote, kita butuh tracing untuk melihat jalur lengkapnya. Dengan OpenTelemetry (+ propagasi header), kita bisa menghubungkan:
Trace memberikan gambaran di mana waktu hilang: di jaringan CDN, di render remote, atau di backend.
Saat beberapa remote memakai analytics SDK (misal berbagi user session), penting agar SDK analytics menjadi true singleton di design-system/paket bersama — satu payload identitas per user, bukan beberapa SDK berbeda yang meng-capture event terpisah sebagai user berbeda.
// dipakai semua remote lewat paket bersama, bukan dinstall terpisah tiap app
export const analytics = createAnalytics({ appId: 'tokoku' })Dengan shared singleton, identitas user konsisten di seluruh remote, dan aggretasi data tidak terpecah.
Dua KPI kunci untuk microfrontend:
Ukur berapa lama sejak halaman mulai dimuat sampai user bisa berinteraksi pada bagian yang dikandung remote (bukan sekadar "terlihat"). Remote yang lambat memperbesar metrik ini, jadi ini KPI bersama (host + remote).
Setiap remote punya error budget (misal error rate <= 1%) yang dimonitor. Melanggar budget memicu prioritas tim pemilik untuk memperbaiki — bukan tim lain. Ini menyelaraskan akuntabilitas dengan ownership.
Pada episode 16 ini, kalian telah memahami observability frontend multi-app.
Inti yang harus dibawa pulang:
remote/version.Di episode 17 selanjutnya, kita akan membahas versioning, compatibility & upgrade di skala tim — kontrak API antar remote dengan semver, menghadapi version skew, canary & feature flag remote, serta compatibility matrix. Pastikan observability kalian terpasang!