diff options
author | Timo Kösters <timo@koesters.xyz> | 2022-12-18 06:37:03 +0100 |
---|---|---|
committer | Timo Kösters <timo@koesters.xyz> | 2022-12-18 06:37:03 +0100 |
commit | 6d5e54a66b96ab504eeb6cca03499fb03761dcb6 (patch) | |
tree | eb5d6683a7b9d38ab086613f0676ba743ed5065b /src/main.rs | |
parent | 2b2bfb91c29b7536b21f73333dc6a6d059d49cbe (diff) | |
download | conduit-6d5e54a66b96ab504eeb6cca03499fb03761dcb6.zip |
fix: jaeger support
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/main.rs b/src/main.rs index 013c4de..fa33c09 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,7 +26,6 @@ use http::{ header::{self, HeaderName}, Method, StatusCode, Uri, }; -use opentelemetry::trace::{FutureExt, Tracer}; use ruma::api::{ client::{ error::{Error as RumaError, ErrorBody, ErrorKind}, @@ -93,14 +92,29 @@ async fn main() { if config.allow_jaeger { opentelemetry::global::set_text_map_propagator(opentelemetry_jaeger::Propagator::new()); let tracer = opentelemetry_jaeger::new_agent_pipeline() + .with_auto_split_batch(true) + .with_service_name("conduit") .install_batch(opentelemetry::runtime::Tokio) .unwrap(); - - let span = tracer.start("conduit"); - start.with_current_context().await; - drop(span); - - println!("exporting"); + let telemetry = tracing_opentelemetry::layer().with_tracer(tracer); + + let filter_layer = match EnvFilter::try_new(&config.log) { + Ok(s) => s, + Err(e) => { + eprintln!( + "It looks like your log config is invalid. The following error occurred: {}", + e + ); + EnvFilter::try_new("warn").unwrap() + } + }; + + let subscriber = tracing_subscriber::Registry::default() + .with(filter_layer) + .with(telemetry); + tracing::subscriber::set_global_default(subscriber).unwrap(); + start.await; + println!("exporting remaining spans"); opentelemetry::global::shutdown_tracer_provider(); } else { let registry = tracing_subscriber::Registry::default(); |