From c9591d6a163fcdd27f7caee35afc421e86170f66 Mon Sep 17 00:00:00 2001 From: Claas Date: Fri, 2 May 2025 18:34:55 +0200 Subject: [PATCH] =?UTF-8?q?Get=20demo=20to=20work=20=F0=9F=A5=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.lock | 2 ++ demo/src/main.rs | 6 ++++++ opo/Cargo.toml | 2 ++ opo/src/main.rs | 17 ++++++++++++++++- 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 6b231b6..3e1fccb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -907,6 +907,8 @@ dependencies = [ "tonic 0.13.0", "tonic-build", "tower-http", + "tracing", + "tracing-subscriber", ] [[package]] diff --git a/demo/src/main.rs b/demo/src/main.rs index 8cdab94..2724908 100644 --- a/demo/src/main.rs +++ b/demo/src/main.rs @@ -14,10 +14,16 @@ use opentelemetry::trace::TracerProvider as _; #[tokio::main] async fn main() -> Result<(), Box> { + let exporter = opentelemetry_otlp::SpanExporter::builder() + .with_tonic() + .build()?; + // Create a new OpenTelemetry trace pipeline that prints to stdout let provider = SdkTracerProvider::builder() .with_simple_exporter(opentelemetry_stdout::SpanExporter::default()) + .with_simple_exporter(exporter) .build(); + let tracer = provider.tracer("readme_example"); // Create a tracing layer with the configured tracer diff --git a/opo/Cargo.toml b/opo/Cargo.toml index 875f6a4..226c5cb 100644 --- a/opo/Cargo.toml +++ b/opo/Cargo.toml @@ -8,6 +8,8 @@ prost = "0.13.5" tokio = { version = "1.44.2", features = ["full"] } tonic = "0.13.0" tower-http = { version = "0.6.2", features = ["trace"] } +tracing = "0.1.41" +tracing-subscriber = { version = "0.3.19", features = ["env-filter"] } [build-dependencies] tonic-build = "0.13.0" diff --git a/opo/src/main.rs b/opo/src/main.rs index 48939c2..0a233c4 100644 --- a/opo/src/main.rs +++ b/opo/src/main.rs @@ -5,6 +5,7 @@ use api::opentelemetry::proto::collector::trace::v1::{ trace_service_server::{TraceService, TraceServiceServer}, }; use tonic::{Request, Response, Status, transport::Server}; +use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; struct Service; @@ -14,14 +15,28 @@ impl TraceService for Service { &self, request: Request, ) -> Result, Status> { - println!("Received request: {:?}", request); + tracing::info!("Received request: {:#?}", request); Ok(Response::new(ExportTraceServiceResponse::default())) } } #[tokio::main] async fn main() -> Result<(), Box> { + tracing_subscriber::registry() + .with( + tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| { + format!( + "{}=trace,tower_http=debug,bollard=debug", + env!("CARGO_CRATE_NAME") + ) + .into() + }), + ) + .with(tracing_subscriber::fmt::layer()) + .init(); + let address = "[::1]:4317".parse()?; + tracing::info!("Listening on {}", address); let service = Service; Server::builder() -- 2.51.2