tracing_opentelemetry
This commit is contained in:
parent
645744e08c
commit
bb7f2c4cab
2 changed files with 26 additions and 31 deletions
|
@ -23,6 +23,7 @@ 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"] }
|
||||
pathfinding = "4.6.0"
|
||||
|
@ -42,6 +43,7 @@ tower-http = { version = "0.5.0", features = [
|
|||
] }
|
||||
tower-layer = "0.3.2"
|
||||
tracing = "0.1"
|
||||
tracing-opentelemetry = "0.22.0"
|
||||
tracing-subscriber = { version = "0.3.18", features = ["registry", "std"] }
|
||||
typetag = "0.2.14"
|
||||
ucnlnav = { git = "https://github.com/ucnl/UCNLNav.git", version = "0.1.0" }
|
||||
|
|
|
@ -21,14 +21,14 @@ use tokio::{sync::{
|
|||
use turtle::{Turtle, TurtleCommander};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use indoc::formatdoc;
|
||||
use opentelemetry_appender_tracing::layer::OpenTelemetryTracingBridge;
|
||||
use tracing_subscriber::prelude::*;
|
||||
use opentelemetry::global::shutdown_tracer_provider;
|
||||
use opentelemetry::{
|
||||
global,
|
||||
trace::{TraceContextExt, TraceError, Tracer},
|
||||
KeyValue,
|
||||
};
|
||||
use opentelemetry_otlp::WithExportConfig;
|
||||
use opentelemetry::{global, KeyValue};
|
||||
use opentelemetry_sdk::logs as sdklogs;
|
||||
use opentelemetry_sdk::metrics as sdkmetrics;
|
||||
use opentelemetry_sdk::resource;
|
||||
use opentelemetry_sdk::trace as sdktrace;
|
||||
use opentelemetry_sdk::{runtime, trace as sdktrace, Resource};
|
||||
|
||||
use crate::blocks::Block;
|
||||
|
||||
|
@ -60,35 +60,29 @@ async fn main() -> Result<(), Error> {
|
|||
None => "save".into(),
|
||||
})?;
|
||||
|
||||
opentelemetry_otlp::new_pipeline()
|
||||
.logging()
|
||||
.with_log_config(
|
||||
sdklogs::Config::default().with_resource(resource::Resource::new(vec![KeyValue::new(
|
||||
opentelemetry_semantic_conventions::resource::SERVICE_NAME,
|
||||
"avarus",
|
||||
)])),
|
||||
)
|
||||
.with_exporter(
|
||||
opentelemetry_otlp::new_exporter()
|
||||
.http()
|
||||
.with_endpoint("http://localhost:4318"),
|
||||
)
|
||||
.install_batch(opentelemetry_sdk::runtime::Tokio)?;
|
||||
|
||||
opentelemetry_otlp::new_pipeline()
|
||||
.tracing()
|
||||
.with_exporter(
|
||||
opentelemetry_otlp::new_exporter()
|
||||
.http()
|
||||
.with_endpoint("http://localhost:4318/v1/traces"),
|
||||
.tonic()
|
||||
.with_endpoint("http://localhost:4317"),
|
||||
)
|
||||
.install_batch(opentelemetry_sdk::runtime::Tokio)?;
|
||||
.with_trace_config(
|
||||
sdktrace::config().with_resource(Resource::new(vec![KeyValue::new(
|
||||
"service.name",
|
||||
"tracing-jaeger",
|
||||
)])),
|
||||
)
|
||||
.install_batch(runtime::Tokio)?;
|
||||
|
||||
let tracer = global::tracer("avarus/basic");
|
||||
|
||||
let logger_provider = opentelemetry::global::logger_provider();
|
||||
let layer = OpenTelemetryTracingBridge::new(&logger_provider);
|
||||
tracing_subscriber::registry().with(layer).init();
|
||||
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);
|
||||
|
||||
let (kill_send, kill_recv) = watch::channel(());
|
||||
|
||||
|
@ -111,8 +105,7 @@ async fn main() -> Result<(), Error> {
|
|||
write_to_disk(&*state.read().await).await?;
|
||||
info!("written");
|
||||
|
||||
global::shutdown_tracer_provider();
|
||||
global::shutdown_logger_provider();
|
||||
shutdown_tracer_provider();
|
||||
|
||||
state.write().await.kill.closed().await;
|
||||
|
||||
|
|
Loading…
Reference in a new issue