Files
goplt/docs/content/adr/0026-error-reporting-service.md

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:

  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