Workflow Error Tracking: Sentry vs Bugsnag vs Rollbar
Tiga platform error tracking saya jalankan paralel 22 bulan di fintech series-B Jakarta. Sentry self-host = Rp 3 juta/bulan, Sentry SaaS Business = USD 80-300/bulan, Bugsnag = USD 60-450/bulan, Rollbar = USD 25-499/bulan. Verdict per use case + tier.
TL;DR
- Sentry: ekosistem terbesar, performance + replay + profiling all-in-one. Default untuk SaaS multi-channel.
- Bugsnag: mobile-first, stability score matang. Conditional untuk mobile-heavy product.
- Rollbar: workflow team-led triage, deploy tracking solid. Conditional untuk team yang process-driven.
- Datadog APM (alternative): bundle dengan observability tapi cost premium.
- Verdict: Conditional — Sentry default untuk Indonesia mid-market, self-host kalau compliance ketat.
Konteks
Saya jalankan ketiga platform paralel 22 bulan (Agustus 2024 - Mei 2026) di fintech series-B Jakarta. Profile:
- 18 microservice backend (Java, Go, Node, Python)
- 6 frontend channel (web React, web admin, mobile Android Kotlin, mobile iOS Swift, mobile Flutter cross, BI dashboard)
- 18.500 MAU total
- ~250k error event/bulan (campuran exception sungguhan + warning yang logged)
Setup paralel saya:
- Sentry self-host di GKE Jakarta untuk backend + web + admin (production primary)
- Bugsnag SaaS untuk mobile Android/iOS native (heritage stability score)
- Rollbar SaaS eval 6 bulan untuk satu domain service, kembalikan ke Sentry karena consolidate vendor
Sebelumnya di BUMN 2022-2024 saya pakai Rollbar 14 bulan. Pengalaman itu masuk pembanding.
Pricing (Juni 2026)
Sentry
- Developer (Free): 5k error event/bulan, 10k transaction (performance), 50 replay
- Team: USD 26/bulan + USD 0,29/1k event extra
- Business: USD 80/bulan + same overage
- Enterprise: quoted, mulai USD 2.000/bulan untuk seat banyak + SSO/SAML
- Self-host (open source): gratis software (BSL license dengan free for production use), infra cost
Saya pakai self-host. Cost infra:
- GKE 3 pod e2-medium: Rp 2,1 juta/bulan
- Postgres db-g1-small: Rp 720 ribu/bulan
- Redis basic 1GB: Rp 350 ribu/bulan
- ClickHouse self-host 1 VM e2-medium (untuk performance data): Rp 720 ribu/bulan
- Storage symbol + artifact di R2: Rp 200 ribu/bulan
- Total Sentry self-host: Rp 4,1 juta/bulan + ops 10-15 jam/bulan
Bugsnag
- Free: 7.5k event/bulan, 1 project
- Lite: USD 59/bulan, 100k event
- Standard: USD 199/bulan, 1M event
- Enterprise: quoted
- Saya pakai Standard untuk 2 mobile native (Android + iOS): USD 199/bulan = Rp 3,2 juta/bulan
Rollbar
- Free: 5k occurrence/bulan
- Essentials: USD 21/bulan, 50k
- Advanced: USD 79/bulan, 200k
- Enterprise: USD 499/bulan, 1,5M + SSO
- Saya eval 6 bulan di Advanced tier: USD 79/bulan = Rp 1,3 juta/bulan
Total bundle aktif
| Platform | Tier | Cost/bulan |
|---|---|---|
| Sentry self-host | open source | Rp 4,1 juta |
| Bugsnag SaaS | Standard | Rp 3,2 juta |
| Total | Rp 7,3 juta/bulan |
Bandingkan kalau full Sentry SaaS Business: USD 80 base + USD 50 overage 250k event + USD 30 replay sample = USD 160/bulan = Rp 2,56 juta/bulan. Lebih murah dari self-host kalau cost cash flow saja yang dilihat.
Tapi self-host saya advantage: data residency Indonesia + tidak ada per-event charge yang scale. Untuk fintech regulated, worth premium.
SLO + performance
| Metrik | Target | Realisasi Sentry self-host | Bugsnag SaaS |
|---|---|---|---|
| Ingest availability | > 99,9% | 99,93% | 99,98% |
| Event-to-dashboard latency p99 | < 30 detik | 18 detik | 12 detik |
| Alert latency event-to-Slack | < 60 detik | 42 detik | 35 detik |
| Symbolication mobile crash | < 5 menit | 3,5 menit | 2,8 menit |
| Source map upload success | > 99,5% | 99,8% | 99,7% |
Insiden 22 bulan:
- Sentry self-host 4 P2 incident (Postgres lock, ClickHouse memory spike, deploy regression)
- Bugsnag 0 incident
- Rollbar 1 incident di periode eval (vendor outage 28 menit)
Capability comparison
| Capability | Sentry | Bugsnag | Rollbar |
|---|---|---|---|
| Backend error tracking | ya | ya | ya |
| Frontend JS error tracking | ya | ya | ya |
| Mobile native (iOS/Android) | ya | ya (heritage) | ya |
| React Native / Flutter | ya | ya | ya |
| Performance monitoring (APM) | ya (built-in) | terbatas | tidak |
| Session replay | ya | tidak | tidak |
| Profiling | ya | tidak | tidak |
| Stability score (mobile) | ya | ya (best) | terbatas |
| Deploy tracking | ya | ya | ya (workflow-strong) |
| Assignment + workflow | ya | ya | ya (best) |
| Source map / symbol upload | ya | ya | ya |
| Self-host option | ya | tidak | tidak |
| Data residency Indonesia | self-host yes | tidak | tidak |
| Audit log compliance | enterprise tier | enterprise tier | enterprise tier |
| Pricing predictability | medium (per-event) | medium (per-event) | medium (per-occurrence) |
| Free tier dermawan | sedang | sedang | sedang |
| Integration SDK count | 100+ | 50+ | 60+ |
Mobile crash reporting
Bugsnag heritage di mobile crash. Pengalaman saya 22 bulan:
| Aspek | Sentry mobile | Bugsnag mobile |
|---|---|---|
| Stack trace iOS Swift | bagus | excellent (lebih detail context) |
| Stack trace Android Kotlin | bagus | excellent |
| Native crash (C/C++ via JNI) | OK | excellent |
| Symbolication speed | 3,5 menit | 2,8 menit |
| Stability score metric | sederhana | matang (per release, per user segment) |
| Release health dashboard | bagus | bagus |
| ANR detection (Android) | ya | ya |
Untuk mobile-heavy product, Bugsnag stability score lebih useful untuk product team. Untuk mobile companion (frontend secondary), Sentry cukup.
Backend + frontend web
Sentry menang untuk backend + web SPA. Coverage SDK luas, performance tracing native, session replay unique. Bugsnag backend SDK ada tapi feature lebih sederhana.
Trade-off arsitektural
Pilih Sentry kalau:
- Multi-channel (backend + frontend + mobile) — coverage unified
- Butuh performance monitoring + replay + profiling all-in-one
- Compliance ketat — self-host option penting
- Tim engineering > 10 — feature breadth Sentry justify learning curve
- Cost-sensitive di mid-scale (Self-host Sentry vs Datadog: 10x lebih murah)
Pilih Bugsnag kalau:
- Mobile-heavy product (50%+ traffic mobile native)
- Stability score per release adalah KPI utama
- Workflow product team (release manager pakai data crash untuk go/no-go)
- Budget premium OK
Pilih Rollbar kalau:
- Workflow team-led triage prioritas (assignment, snooze, RCA template)
- Deploy tracking sebagai first-class citizen
- Tim kecil-medium (1-15 dev) tanpa kebutuhan APM/replay
Pattern multi-vendor
Bundle saya (Sentry self-host + Bugsnag SaaS mobile): trade-off cost vs depth per-channel. 2 vendor = 2 tooling chain. Worth-nya hanya kalau mobile native dominan (60%+ traffic) — kalau tidak, Sentry single-vendor lebih sederhana.
Sampling strategy
Untuk control cost + noise:
Sentry sampling
# Backend sampling
sentry_sdk.init(
sample_rate=1.0, # 100% error
traces_sample_rate=0.1, # 10% performance trace
profiles_sample_rate=0.1, # 10% profile
replays_sample_rate=0.05, # 5% session replay (web)
replays_on_error_sample_rate=1.0, # 100% replay saat error
)
Pattern: error 100% (kita butuh semua), performance 10% (statistik cukup), replay 5% baseline + 100% saat error.
Filter noise
// Frontend
Sentry.init({
ignoreErrors: [
'Network request failed', // mobile offline noise
'NotAllowedError', // user denied permission
/Loading chunk \d+ failed/, // hot reload artifact
],
denyUrls: [
/chrome-extension/, // extension noise
/safari-extension/,
],
});
Saya filter ~35% event noise. Total event ter-ingest turun dari ~380k ke ~250k/bulan = save USD 38/bulan (kalau SaaS).
Fingerprint grouping
Agresif group error mirip. Default Sentry group by stack trace top frame — kadang terlalu granular. Custom fingerprint:
Sentry.init({
beforeSend(event) {
if (event.exception?.values[0]?.type === 'TimeoutError') {
event.fingerprint = ['timeout-{{ default }}'];
}
return event;
},
});
Reduce issue count dari ~1.200 unique ke ~340 unique. Tim triage capacity catching up.
Compliance + data residency
Untuk fintech Indonesia
Sensitive data di error event:
- Request payload (potentially PII)
- Stack trace yang berisi local variable value
- User context (email, user ID)
- IP address
Sentry self-host advantage: semua data tinggal di GKE Jakarta + R2 Jakarta. UU PDP 2022 compliant. OJK audit Q1 2026 passed.
Untuk Sentry SaaS: data ke US server. Untuk Bugsnag/Rollbar SaaS: similar. PII scrubbing built-in (regex pattern), tapi tidak 100% reliable. Untuk service yang menyentuh data nasabah: self-host non-negotiable.
PII scrubbing pattern
sentry_sdk.init(
send_default_pii=False,
before_send=scrub_pii,
)
def scrub_pii(event, hint):
if 'request' in event:
# Mask email, phone, NIK, account number
event['request']['data'] = mask_sensitive(event['request']['data'])
return event
Maintain regex pattern Indonesia-specific: NIK 16-digit, NPWP 15-digit, nomor rekening 10-16 digit, nomor HP +62/08 prefix. Custom scrubber 1-2 hari kerja initial.
Workflow + integration
Sentry workflow
- Issue auto-create di Linear / Jira via integration
- Slack notification per-issue (custom rule per severity)
- Deploy tracking via release API + commit hash
- Code mapping (Sentry → GitHub source)
Bugsnag workflow
- Stability score threshold trigger (auto-block release kalau crash rate > 1%)
- Mobile release health dashboard
- Slack + PagerDuty integration
Rollbar workflow
- Assignment + snooze workflow strongest
- Deploy tracking dashboard sederhana clean
- RCA template tertanam di workflow
Untuk team yang process-driven (review error mingguan, assignment formal), Rollbar workflow lebih ergonomis. Untuk team yang feature-led, Sentry cukup.
Cost of ownership 36 bulan
Skenario: SaaS B2B fintech Indonesia, 250k event/bulan, multi-channel.
| Item | Sentry self-host + Bugsnag | Sentry SaaS Business + Bugsnag | Datadog APM full |
|---|---|---|---|
| Subscription/infra 3 tahun | Rp 263 juta | Rp 95 juta + Rp 115 juta | Rp 2,1 miliar |
| Ops time engineer | Rp 130 juta | Rp 24 juta | Rp 18 juta |
| Migration cost (one-time) | Rp 30 juta | Rp 0 | Rp 60 juta |
| Total 3 tahun | Rp 423 juta | Rp 234 juta | Rp 2,18 miliar |
Self-host actually lebih mahal dari SaaS karena ops overhead. Justify-nya bukan cost — justify-nya data residency compliance. Untuk SaaS non-regulated, Sentry SaaS Business + Bugsnag mid-tier = sweet spot.
Common pitfall
- Event volume explosion. Loop error tanpa rate limit = ribuan event identik per detik. Implement client-side rate limit per fingerprint (max 100 event/menit per error).
- Source map tidak ter-upload. Tanpa source map, stack trace minified = useless. Setup CI step upload source map ke Sentry / Bugsnag pada setiap deploy. Verify dengan test event di CI.
- Sensitive data leak via context. Stack trace berisi variable value = potentially PII. Scrub agresif via
beforeSendhook + audit periodically. - Tidak ada Triage routine. 1.200 unique issue tanpa triage = noise. Setup weekly triage 30 menit + assignment per domain owner.
- Alert fatigue. Alert per-error = inbox spam. Pakai alert threshold (only alert kalau frequency > 10/menit, atau new issue belum pernah seen) + on-call rotation.
Indonesia specific
Mobile offline noise
Banyak mobile user Indonesia jaringan tidak stable (4G di tier-2 city). Network error volume tinggi. Filter di SDK:
Bugsnag.addOnError { event ->
val error = event.errors[0]
if (error.errorClass == "java.net.UnknownHostException") {
return@addOnError false // skip
}
true
}
Saves 30-50% event volume mobile.
Compliance OJK
OJK Cyber Resilience Guideline mensyaratkan log retention 12 bulan + audit trail. Sentry self-host: configure retention 18 bulan, export ke S3 Glacier untuk 7 tahun archive. Cost retention archive: Rp 600 ribu/bulan ongoing + Rp 8 juta amortized one-time setup.
Yang surprising
Setelah 22 bulan: Sentry session replay ternyata ROI tinggi untuk debug UI bug. Bug yang dulu butuh 2-3 hari investigation + customer support back-and-forth, sekarang 15-30 menit dengan replay. Saya naikkan replay sample rate dari 5% ke 10% untuk web product.
Surprise lain: Bugsnag mobile stability score actually mengubah cara product team release. Sebelum: release setiap 2 minggu independent dari crash rate. Setelah: release blocked kalau stability score di bawah threshold (99,5% untuk Android, 99,7% iOS). Crash rate stable improve dari 1,2% ke 0,4% dalam 8 bulan.
Verdict
Conditional dengan rule konkret:
- Default SaaS multi-channel Indonesia: Sentry. Coverage end-to-end terbaik.
- Self-host Sentry kalau compliance ketat (fintech, healthcare, govt). Cost Rp 4-5 juta/bulan infra.
- Sentry SaaS Business untuk SaaS non-regulated. Cost USD 80-300/bulan.
- Tambah Bugsnag kalau mobile native > 50% traffic + stability score kunci KPI. Worth multi-vendor overhead.
- Skip Rollbar untuk SaaS modern Indonesia kecuali workflow team-led adalah prioritas extreme.
Threshold konkret untuk adopt platform error tracking: pengguna pembayar > 50 atau MAU > 1k. Di bawah ini, raw log ke Loki + grep cukup. Platform overhead tidak justify untuk MVP.
Ditulis oleh Asti Larasati