use std::time::Duration;
fn main() {
let minidump = sentry_minidump::MinidumpIntegration::new()
.crashes_dir(std::env::temp_dir().join("sentry-minidump-example"))
.process_name("app-crash-reporter")
.before_capture(|scope, path| {
eprintln!("minidump captured at {}", path.display());
scope.set_tag("crash_reporter", "example");
})
.flush_timeout(Duration::from_secs(3));
if minidump.is_crash_reporter_process() {
eprintln!("starting crash reporter process");
}
let _guard = sentry::init(
sentry::ClientOptions::new()
.add_integration(minidump),
);
sentry::with_integration(|minidump: &sentry_minidump::MinidumpIntegration, _| {
minidump.set_user(Some(sentry::User {
username: Some("john_doe".into()),
email: Some("john@doe.town".into()),
..Default::default()
}));
});
unsafe { sadness_generator::raise_segfault() };
}