Latihan 1 dari materi Error Monitoring (Sentry-style) di Debugging — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Implementasikan error monitoring aggregator sederhana seperti Sentry, dengan grouping berdasarkan fingerprint.
createMonitor(release)
Return object dengan method berikut:
capture(error, context)
error: { message, stack }, context: { userId?, url?, tags? }{ id, message, fingerprint, release, userId, url, tags, timestamp, count }generateFingerprint(error): ambil baris pertama dari error.stack, atau gunakan error.message jika tidak ada stackcount alih-alih membuat event barugetEvents() → return array event unik (sudah digroup)
getEventsByTag(key, value) → filter event di mana tags[key] === value
getTopErrors(n) → return n event teratas berdasarkan count (descending)