From 5570220c8901d6a423a1c2ea4d86f8ed5d8b1ba4 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 11 Jul 2024 05:03:41 +0000 Subject: [PATCH] use separate but configurable envfilter for sentry Signed-off-by: Jason Volk --- src/core/config/mod.rs | 5 +++++ src/main/tracing.rs | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/core/config/mod.rs b/src/core/config/mod.rs index df13ad1f..4eefddcf 100644 --- a/src/core/config/mod.rs +++ b/src/core/config/mod.rs @@ -362,6 +362,8 @@ pub struct Config { pub sentry_send_panic: bool, #[serde(default = "true_fn")] pub sentry_send_error: bool, + #[serde(default = "default_sentry_filter")] + pub sentry_filter: String, #[serde(default)] pub tokio_console: bool, @@ -831,6 +833,7 @@ impl fmt::Display for Config { line("Sentry.io attach stacktrace", &self.sentry_attach_stacktrace.to_string()); line("Sentry.io send panics", &self.sentry_send_panic.to_string()); line("Sentry.io send errors", &self.sentry_send_error.to_string()); + line("Sentry.io tracing filter", &self.sentry_filter); line( "Well-known server name", self.well_known @@ -1075,4 +1078,6 @@ fn default_sentry_endpoint() -> Option { fn default_sentry_traces_sample_rate() -> f32 { 0.15 } +fn default_sentry_filter() -> String { "info".to_owned() } + fn default_startup_netburst_keep() -> i64 { 50 } diff --git a/src/main/tracing.rs b/src/main/tracing.rs index 31870661..ccfe188d 100644 --- a/src/main/tracing.rs +++ b/src/main/tracing.rs @@ -32,8 +32,10 @@ pub(crate) fn init(config: &Config) -> Result<(LogLevelReloadHandles, TracingFla #[cfg(feature = "sentry_telemetry")] let subscriber = { + let sentry_filter = EnvFilter::try_new(&config.sentry_filter) + .map_err(|e| Error::BadConfig(format!("in the 'sentry_filter' setting: {e}.")))?; let sentry_layer = sentry_tracing::layer(); - let (sentry_reload_filter, sentry_reload_handle) = reload::Layer::new(filter_layer.clone()); + let (sentry_reload_filter, sentry_reload_handle) = reload::Layer::new(sentry_filter); reload_handles.add("sentry", Box::new(sentry_reload_handle)); subscriber.with(sentry_layer.with_filter(sentry_reload_filter)) };