How webwiebe/bugbarn works
BugBarn is a self-hosted error-tracking service. SDKs and Alertmanager send events to the Go API, which acknowledges durable queueing; background processing normalizes and scrubs events, fingerprints them, and persists issues and events. Users then browse and manage issues, logs, releases, projects, and alerts through the web app or CLI. The README documents these capabilities; the sampled excerpts confirm key wiring and storage behavior, but do not expose every handler-to-service call, so uncertain links are omitted.
Main entry points: storage.go SQLite storage · api HTTP API · processor.go Event worker · handler.go Ingest handler
Components 20
Senders and clients
- SDKs
sdks
Ingest processing
- Ingest handler
internal/ingest/handler.go - Alertmanager adapter
internal/ingest/alertmanager.go - Durable spool
internal/spool/spool.go - Normalize and scrub
internal/normalize/normalize.go - Fingerprint events
internal/fingerprint/fingerprint.go
API and services
- HTTP API
internal/api - Issue service
internal/service/issues/service.go - Project service
internal/service/projects/service.go - Source maps
internal/sourcemap/symbolicate.go
Persistence and workers
- Event worker
internal/worker/processor.go - SQLite storage
internal/storage/storage.go - Alert evaluation
internal/alert/evaluator.go - Analytics worker
internal/analytics/worker.go - Event retention
internal/retention/worker.go - SQLite database
User experience
- Web interface
web/src/app.ts - Command-line client
cmd/bb/main.go
Other components
- Alertmanager
- Alert destinations
Connections 21
- SDKs → HTTP API: sends events
- Alertmanager → HTTP API: posts alerts
- HTTP API → Ingest handler: dispatches ingest
- Ingest handler → Alertmanager adapter: converts alerts
- Ingest handler → Durable spool: queues payloads
- Event worker → Durable spool: reads events
- Event worker → Normalize and scrub: normalizes events
- Event worker → Fingerprint events: fingerprints events
- Event worker → SQLite storage: persists results
- Issue service → SQLite storage: reads and writes
- Project service → SQLite storage: reads and writes
- Alert evaluation → SQLite storage: loads rules
- Alert evaluation → Alert destinations: delivers alerts
- Analytics worker → SQLite storage: stores analytics
- Event retention → SQLite storage: deletes expired events
- Source maps → SQLite storage: uses source maps
- HTTP API → Issue service: dispatches issue operations
- HTTP API → Project service: dispatches project operations
- Web interface → HTTP API: calls endpoints
- Command-line client → HTTP API: calls endpoints
- SQLite storage → SQLite database: reads and writes