diff --git a/server/Cargo.toml b/server/Cargo.toml index 1b51129..f5f9b5b 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -20,9 +20,6 @@ hyper-util = "0.1.1" indoc = "2.0.4" nalgebra = { version = "0.32.3", features = ["serde-serialize"] } opentelemetry = "0.21.0" -opentelemetry-appender-tracing = "0.2.0" -opentelemetry-otlp = { version = "0.14.0", features = ["logs", "http-proto", "reqwest-client"] } -opentelemetry-semantic-conventions = "0.13.0" opentelemetry-stdout = { version = "0.2.0", features = ["trace"] } opentelemetry_sdk = { version = "0.21.1", features = ["logs", "rt-tokio"] } parking_lot = { version = "0.11", features = ["serde"] } diff --git a/server/src/main.rs b/server/src/main.rs index 576c9bb..03401c7 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -10,25 +10,22 @@ use axum::{ }; use blocks::{World, Position, }; use depot::Depots; -use tracing::info; +use tracing::{info, span}; use rstar::RTree; use names::Name; use tasks::Scheduler; use tokio::{sync::{ RwLock, mpsc, OnceCell, Mutex, watch -}, fs, time::Instant}; +}, fs, time::Instant, runtime::Runtime}; use turtle::{Turtle, TurtleCommander}; use serde::{Deserialize, Serialize}; use indoc::formatdoc; -use opentelemetry::global::shutdown_tracer_provider; -use opentelemetry::{ - global, - trace::{TraceContextExt, TraceError, Tracer}, - KeyValue, -}; -use opentelemetry_otlp::WithExportConfig; -use opentelemetry_sdk::{runtime, trace as sdktrace, Resource}; +use opentelemetry::trace::TracerProvider as _; +use opentelemetry_sdk::{trace::TracerProvider, runtime::Tokio}; +use opentelemetry_stdout as stdout; +use tracing_subscriber::layer::SubscriberExt; +use tracing_subscriber::Registry; use crate::blocks::Block; @@ -60,29 +57,18 @@ async fn main() -> Result<(), Error> { None => "save".into(), })?; - opentelemetry_otlp::new_pipeline() - .tracing() - .with_exporter( - opentelemetry_otlp::new_exporter() - .tonic() - .with_endpoint("http://localhost:4317"), - ) - .with_trace_config( - sdktrace::config().with_resource(Resource::new(vec![KeyValue::new( - "service.name", - "tracing-jaeger", - )])), - ) - .install_batch(runtime::Tokio)?; + let provider = TracerProvider::builder() + .with_batch_exporter(opentelemetry_stdout::SpanExporter::default(),Tokio) + .build(); + let tracer = provider.tracer("avarus"); - let tracer = global::tracer("avarus"); - let telemetry = tracing_opentelemetry::layer().with_tracer(tracer); - let subscriber = Registry::default().with(telemetry); - tracing::subscriber::set_global_default(subscriber); + tracing::subscriber::set_global_default(subscriber)?; + + info!("started"); let (kill_send, kill_recv) = watch::channel(()); @@ -105,8 +91,6 @@ async fn main() -> Result<(), Error> { write_to_disk(&*state.read().await).await?; info!("written"); - shutdown_tracer_provider(); - state.write().await.kill.closed().await; Ok(())