Skip to content

Commit

Permalink
Reports panics to sentry.io
Browse files Browse the repository at this point in the history
  • Loading branch information
kalabukdima committed Feb 6, 2024
1 parent ca0ce93 commit 2f9bda1
Show file tree
Hide file tree
Showing 4 changed files with 198 additions and 3 deletions.
183 changes: 183 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ opentelemetry-jaeger = "0.20.0"
regex = "1.10.2"
reqwest = { version = "0.11.24", features = ["json"] }
rust-s3 = "0.33.0"
sentry = { version = "0.32.2", features = ["tracing"] }
serde = "1.0.195"
serde-rename-rule = "0.2.2"
serde_json = { version = "1.0.111", features = ["preserve_order"] }
Expand Down
3 changes: 3 additions & 0 deletions src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ pub struct Args {

#[clap(env, hide(true), value_parser=parse_seconds, default_value = "3")]
pub ping_interval_sec: Duration,

#[clap(env, hide(true))]
pub sentry_dsn: Option<String>,
}

fn parse_seconds(s: &str) -> Result<Duration> {
Expand Down
14 changes: 11 additions & 3 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ fn setup_tracing() -> Result<()> {
tracing_subscriber::registry()
.with(fmt)
.with(opentelemetry)
.with(sentry::integrations::tracing::layer())
.try_init()?;
Ok(())
}
Expand Down Expand Up @@ -87,6 +88,15 @@ async fn main() -> anyhow::Result<()> {
let args = Args::parse();
setup_tracing()?;

let _sentry_guard;
if let Some(sentry_dsn) = &args.sentry_dsn {
_sentry_guard = sentry::init((sentry_dsn.as_str(), sentry::ClientOptions {
release: sentry::release_name!(),
traces_sample_rate: 1.0,
..Default::default()
}));
}

let downloader = Downloader::new(args.concurrent_downloads * 4);
let state_manager =
StateManager::new(args.data_dir.clone(), downloader, args.concurrent_downloads).await?;
Expand All @@ -103,7 +113,5 @@ async fn main() -> anyhow::Result<()> {
args.ping_interval_sec,
));

Server::new(state_manager, args).run().await?;

loop {}
Server::new(state_manager, args).run().await
}

0 comments on commit 2f9bda1

Please sign in to comment.