1.3 KiB
1.3 KiB
ADR-0026: Error Reporting Service
Status
Accepted
Context
The platform needs error reporting for:
- Production error tracking
- Stack trace collection
- Error aggregation and analysis
- Integration with monitoring
Options considered:
- Sentry - Popular, feature-rich
- Rollbar - Alternative error tracking
- Custom solution - Build our own
- Logs only - No external service
Decision
Use Sentry for error reporting (optional, configurable):
- Integration: Via error bus sink
- Configuration: Sentry DSN from config
- Context: Include user ID, trace ID, module name
- Optional: Can be disabled for development
Rationale:
- Industry standard error tracking
- Excellent Go SDK
- Rich features (release tracking, grouping, etc.)
- Good free tier
- Easy to integrate
Consequences
Positive
- Excellent error tracking
- Rich context and grouping
- Easy integration
- Good free tier
Negative
- External dependency
- Additional cost at scale
- Privacy considerations (data sent to Sentry)
Implementation Notes
- Install:
github.com/getsentry/sentry-go - Create Sentry sink for error bus
- Configure via environment variable
- Include context: user ID, trace ID, module name
- Set up release tracking
- Configure sampling for high-volume deployments