Skip to content

Commit

Permalink
https://github.com/open-telemetry/opentelemetry-rust/issues/2167
Browse files Browse the repository at this point in the history
  • Loading branch information
nbari committed Nov 12, 2024
1 parent f8fb6ff commit 70f3277
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 41 deletions.
72 changes: 53 additions & 19 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ axum = { version = "0.7", features = ["tracing"] }
chrono = "0.4"
clap = { version = "4", features = ["env"] }
openssl = { version = "0.10", optional = true, features = ["vendored"] }
opentelemetry = "0.26"
opentelemetry-otlp = { version = "0.26", features = ["tls-roots", "tls"] }
opentelemetry_sdk = { version = "0.26", features = ["rt-tokio"] }
opentelemetry = "0.27"
opentelemetry-otlp = { version = "0.27", features = ["tls-roots", "tls"] }
opentelemetry_sdk = { version = "0.27", features = ["rt-tokio"] }
rand = "0.8.5"
reqwest = { version = "0.12", features = ["json"] }
secrecy = "0.8"
Expand All @@ -44,7 +44,7 @@ tower-http = { version = "0.6", features = [
"set-header",
] }
tracing = "0.1"
tracing-opentelemetry = "0.27"
tracing-opentelemetry = "0.28"
tracing-subscriber = { version = "0.3", features = ["json", "env-filter"] }
ulid = "1.1"
url = "2.5"
Expand Down
36 changes: 18 additions & 18 deletions src/cli/telemetry.rs
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
use anyhow::Result;
use opentelemetry::{global, trace::TracerProvider, KeyValue};
use opentelemetry::{global, trace::Tracer, KeyValue};
use opentelemetry_otlp::WithExportConfig;
use opentelemetry_sdk::{runtime::Tokio, trace::Config, Resource};
use opentelemetry_sdk::{
trace::{Config, TracerProvider},
Resource,
};
use std::time::Duration;
use tracing_opentelemetry::OpenTelemetryLayer;
use tracing_subscriber::{fmt, layer::SubscriberExt, EnvFilter, Registry};

/// Start the telemetry layer
/// # Errors
/// Will return an error if the telemetry layer fails to start
pub fn init(verbosity_level: tracing::Level) -> Result<()> {
let tracer_provider = opentelemetry_otlp::new_pipeline()
.tracing()
.with_exporter(
opentelemetry_otlp::new_exporter()
.tonic()
.with_timeout(Duration::from_secs(3)),
)
.with_trace_config(Config::default().with_resource(Resource::new(vec![
let exporter = opentelemetry_otlp::SpanExporter::builder()
.with_tonic()
.with_timeout(Duration::from_secs(3))
.build()?;

let tracer_provider = TracerProvider::builder()
.with_batch_exporter(exporter, opentelemetry_sdk::runtime::Tokio)
.with_config(Config::default().with_resource(Resource::new(vec![
KeyValue::new("service.name", env!("CARGO_PKG_NAME")),
KeyValue::new("service.version", env!("CARGO_PKG_VERSION")),
])))
.install_batch(Tokio)?;

let tracer = tracer_provider
.tracer_builder(env!("CARGO_PKG_NAME"))
.with_version(env!("CARGO_PKG_VERSION"))
.build();

global::set_tracer_provider(tracer_provider);

let otel_trace_layer = OpenTelemetryLayer::new(tracer);
let tracer = global::tracer(env!("CARGO_PKG_NAME"));

// let otel_tracer_layer = OpenTelemetryLayer::with_tracer(tracer);
let otel_tracer_layer = tracing_opentelemetry::layer().with_tracer(tracer);

let fmt_layer = fmt::layer()
.with_file(true)
Expand All @@ -50,7 +50,7 @@ pub fn init(verbosity_level: tracing::Level) -> Result<()> {

let subscriber = Registry::default()
.with(fmt_layer)
.with(otel_trace_layer)
.with(otel_tracer_layer)
.with(filter);

Ok(tracing::subscriber::set_global_default(subscriber)?)
Expand Down

0 comments on commit 70f3277

Please sign in to comment.