docs: add mkdocs, update links, add architecture documentation
This commit is contained in:
54
docs/content/adr/0026-error-reporting-service.md
Normal file
54
docs/content/adr/0026-error-reporting-service.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# 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:
|
||||
1. **Sentry** - Popular, feature-rich
|
||||
2. **Rollbar** - Alternative error tracking
|
||||
3. **Custom solution** - Build our own
|
||||
4. **Logs only** - No external service
|
||||
|
||||
## Decision
|
||||
Use **Sentry** for error reporting (optional, configurable):
|
||||
|
||||
1. **Integration**: Via error bus sink
|
||||
2. **Configuration**: Sentry DSN from config
|
||||
3. **Context**: Include user ID, trace ID, module name
|
||||
4. **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
|
||||
|
||||
Reference in New Issue
Block a user