Motivation
Sentry is enabled by default (sentry feature in default-release-binaries) but the current integration is minimal. Better configuration and context would improve error tracking.
Current State
Location: zebrad/src/application.rs:405-409
let guard = sentry::init(sentry::ClientOptions {
debug: true,
release: Some(build_version().to_string().into()),
..Default::default()
});
- Only sets
debug and release version
- DSN only via
SENTRY_DSN env var
- No environment tagging
- No performance monitoring
- No explicit PII protection
Tasks
Implementation
Files to modify:
zebrad/src/application.rs - expand sentry::init() options
zebrad/src/components/tracing.rs - add Sentry config fields if needed
Example improved config:
sentry::init(sentry::ClientOptions {
release: Some(build_version().to_string().into()),
environment: Some(config.sentry.environment.clone().into()),
traces_sample_rate: config.sentry.traces_sample_rate,
send_default_pii: false,
..Default::default()
})
Acceptance Criteria
Motivation
Sentry is enabled by default (
sentryfeature indefault-release-binaries) but the current integration is minimal. Better configuration and context would improve error tracking.Current State
Location:
zebrad/src/application.rs:405-409debugandreleaseversionSENTRY_DSNenv varTasks
send_default_pii: falseexplicitlytraces_sample_ratefor performance monitoringImplementation
Files to modify:
zebrad/src/application.rs- expandsentry::init()optionszebrad/src/components/tracing.rs- add Sentry config fields if neededExample improved config:
Acceptance Criteria