From 7ed5b81025aa1b233e94d7f5ab19efb0c8266ef5 Mon Sep 17 00:00:00 2001 From: Dirkjan Ochtman Date: Tue, 10 Dec 2024 09:38:59 +0100 Subject: [PATCH] Avoid deprecated API --- benches/trace.rs | 9 ++++----- examples/opentelemetry-otlp.rs | 17 +++++++---------- src/tracer.rs | 6 ++---- tests/parallel.rs | 15 +++++++-------- tests/trace_state_propagation.rs | 6 ++---- 5 files changed, 22 insertions(+), 31 deletions(-) diff --git a/benches/trace.rs b/benches/trace.rs index b9c2aca..c0711f0 100644 --- a/benches/trace.rs +++ b/benches/trace.rs @@ -3,7 +3,7 @@ use opentelemetry::{ trace::{Span, SpanBuilder, Tracer as _, TracerProvider as _}, Context, }; -use opentelemetry_sdk::trace::{Config, Tracer, TracerProvider}; +use opentelemetry_sdk::trace::{Tracer, TracerProvider}; #[cfg(not(target_os = "windows"))] use pprof::criterion::{Output, PProfProfiler}; use std::time::SystemTime; @@ -160,10 +160,9 @@ fn many_events(c: &mut Criterion) { } { - let mut config = Config::default(); - config.span_limits.max_events_per_span = 1000; - - let provider = TracerProvider::builder().with_config(config).build(); + let provider = TracerProvider::builder() + .with_max_events_per_span(1000) + .build(); let tracer = provider.tracer("bench"); let otel_layer = tracing_opentelemetry::layer() .with_tracer(tracer) diff --git a/examples/opentelemetry-otlp.rs b/examples/opentelemetry-otlp.rs index 06c586e..f04eb69 100644 --- a/examples/opentelemetry-otlp.rs +++ b/examples/opentelemetry-otlp.rs @@ -63,16 +63,13 @@ fn init_tracer_provider() -> TracerProvider { .unwrap(); TracerProvider::builder() - .with_config( - opentelemetry_sdk::trace::Config::default() - // Customize sampling strategy - .with_sampler(Sampler::ParentBased(Box::new(Sampler::TraceIdRatioBased( - 1.0, - )))) - // If export trace to AWS X-Ray, you can use XrayIdGenerator - .with_id_generator(RandomIdGenerator::default()) - .with_resource(resource()), - ) + // Customize sampling strategy + .with_sampler(Sampler::ParentBased(Box::new(Sampler::TraceIdRatioBased( + 1.0, + )))) + // If export trace to AWS X-Ray, you can use XrayIdGenerator + .with_id_generator(RandomIdGenerator::default()) + .with_resource(resource()) .with_batch_exporter(exporter, runtime::Tokio) .build() } diff --git a/src/tracer.rs b/src/tracer.rs index 7ea6074..0cc7678 100644 --- a/src/tracer.rs +++ b/src/tracer.rs @@ -152,7 +152,7 @@ mod tests { use super::*; use crate::OtelData; use opentelemetry::trace::TracerProvider as _; - use opentelemetry_sdk::trace::{Config, Sampler, TracerProvider}; + use opentelemetry_sdk::trace::{Sampler, TracerProvider}; #[test] fn assigns_default_trace_id_if_missing() { @@ -195,9 +195,7 @@ mod tests { #[test] fn sampled_context() { for (name, sampler, parent_cx, previous_sampling_result, is_sampled) in sampler_data() { - let provider = TracerProvider::builder() - .with_config(Config::default().with_sampler(sampler)) - .build(); + let provider = TracerProvider::builder().with_sampler(sampler).build(); let tracer = provider.tracer("test"); let mut builder = SpanBuilder::from_name("parent".to_string()); builder.sampling_result = previous_sampling_result; diff --git a/tests/parallel.rs b/tests/parallel.rs index 60d84c5..afc2d21 100644 --- a/tests/parallel.rs +++ b/tests/parallel.rs @@ -2,7 +2,7 @@ use futures_util::future::BoxFuture; use opentelemetry::trace::TracerProvider as _; use opentelemetry_sdk::{ export::trace::{ExportResult, SpanData, SpanExporter}, - trace::{Config, SpanLimits, Tracer, TracerProvider}, + trace::{SpanLimits, Tracer, TracerProvider}, }; use std::sync::{Arc, Mutex}; use tracing::level_filters::LevelFilter; @@ -32,15 +32,14 @@ fn test_tracer() -> ( impl Subscriber + Clone, ) { let exporter = TestExporter::default(); - let mut config = Config::default(); - config.span_limits = SpanLimits { - max_events_per_span: u32::MAX, - ..SpanLimits::default() - }; - let provider = TracerProvider::builder() .with_simple_exporter(exporter.clone()) - .with_config(config) + // `with_max_events_per_span()` is buggy https://github.com/open-telemetry/opentelemetry-rust/pull/2405 + .with_span_limits(SpanLimits { + max_events_per_span: u32::MAX, + ..SpanLimits::default() + }) + .with_max_events_per_span(u32::MAX) .build(); let tracer = provider.tracer("test"); diff --git a/tests/trace_state_propagation.rs b/tests/trace_state_propagation.rs index 7d5aa50..c4cf067 100644 --- a/tests/trace_state_propagation.rs +++ b/tests/trace_state_propagation.rs @@ -7,7 +7,7 @@ use opentelemetry::{ use opentelemetry_sdk::{ export::trace::{ExportResult, SpanData, SpanExporter}, propagation::{BaggagePropagator, TraceContextPropagator}, - trace::{Config, Sampler, Tracer, TracerProvider}, + trace::{Sampler, Tracer, TracerProvider}, }; use std::collections::{HashMap, HashSet}; use std::sync::{Arc, Mutex}; @@ -107,9 +107,7 @@ fn sampling_decision_respects_new_parent() { let exporter = TestExporter::default(); let provider = TracerProvider::builder() .with_simple_exporter(exporter.clone()) - .with_config( - Config::default().with_sampler(Sampler::ParentBased(Box::new(Sampler::AlwaysOff))), - ) + .with_sampler(Sampler::ParentBased(Box::new(Sampler::AlwaysOff))) .build(); let tracer = provider.tracer("test"); let subscriber = tracing_subscriber::registry().with(layer().with_tracer(tracer.clone()));