summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorTimo Kösters <timo@koesters.xyz>2022-12-18 06:37:03 +0100
committerTimo Kösters <timo@koesters.xyz>2022-12-18 06:37:03 +0100
commit6d5e54a66b96ab504eeb6cca03499fb03761dcb6 (patch)
treeeb5d6683a7b9d38ab086613f0676ba743ed5065b /src/main.rs
parent2b2bfb91c29b7536b21f73333dc6a6d059d49cbe (diff)
downloadconduit-6d5e54a66b96ab504eeb6cca03499fb03761dcb6.zip
fix: jaeger support
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs28
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();