1
Fork 0

span exporter (does not work)

This commit is contained in:
Andy Killorin 2023-12-25 00:29:36 -06:00
parent bb7f2c4cab
commit 17422f4cdd
Signed by: ank
GPG key ID: B6241CA3B552BCA4
2 changed files with 14 additions and 33 deletions

View file

@ -20,9 +20,6 @@ hyper-util = "0.1.1"
indoc = "2.0.4" indoc = "2.0.4"
nalgebra = { version = "0.32.3", features = ["serde-serialize"] } nalgebra = { version = "0.32.3", features = ["serde-serialize"] }
opentelemetry = "0.21.0" 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-stdout = { version = "0.2.0", features = ["trace"] }
opentelemetry_sdk = { version = "0.21.1", features = ["logs", "rt-tokio"] } opentelemetry_sdk = { version = "0.21.1", features = ["logs", "rt-tokio"] }
parking_lot = { version = "0.11", features = ["serde"] } parking_lot = { version = "0.11", features = ["serde"] }

View file

@ -10,25 +10,22 @@ use axum::{
}; };
use blocks::{World, Position, }; use blocks::{World, Position, };
use depot::Depots; use depot::Depots;
use tracing::info; use tracing::{info, span};
use rstar::RTree; use rstar::RTree;
use names::Name; use names::Name;
use tasks::Scheduler; use tasks::Scheduler;
use tokio::{sync::{ use tokio::{sync::{
RwLock, mpsc, OnceCell, Mutex, watch RwLock, mpsc, OnceCell, Mutex, watch
}, fs, time::Instant}; }, fs, time::Instant, runtime::Runtime};
use turtle::{Turtle, TurtleCommander}; use turtle::{Turtle, TurtleCommander};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use indoc::formatdoc; use indoc::formatdoc;
use opentelemetry::global::shutdown_tracer_provider; use opentelemetry::trace::TracerProvider as _;
use opentelemetry::{ use opentelemetry_sdk::{trace::TracerProvider, runtime::Tokio};
global, use opentelemetry_stdout as stdout;
trace::{TraceContextExt, TraceError, Tracer}, use tracing_subscriber::layer::SubscriberExt;
KeyValue, use tracing_subscriber::Registry;
};
use opentelemetry_otlp::WithExportConfig;
use opentelemetry_sdk::{runtime, trace as sdktrace, Resource};
use crate::blocks::Block; use crate::blocks::Block;
@ -60,29 +57,18 @@ async fn main() -> Result<(), Error> {
None => "save".into(), None => "save".into(),
})?; })?;
opentelemetry_otlp::new_pipeline() let provider = TracerProvider::builder()
.tracing() .with_batch_exporter(opentelemetry_stdout::SpanExporter::default(),Tokio)
.with_exporter( .build();
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 tracer = provider.tracer("avarus");
let tracer = global::tracer("avarus");
let telemetry = tracing_opentelemetry::layer().with_tracer(tracer); let telemetry = tracing_opentelemetry::layer().with_tracer(tracer);
let subscriber = Registry::default().with(telemetry); 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(()); let (kill_send, kill_recv) = watch::channel(());
@ -105,8 +91,6 @@ async fn main() -> Result<(), Error> {
write_to_disk(&*state.read().await).await?; write_to_disk(&*state.read().await).await?;
info!("written"); info!("written");
shutdown_tracer_provider();
state.write().await.kill.closed().await; state.write().await.kill.closed().await;
Ok(()) Ok(())