Skip to content

Commit 4d9b52f

Browse files
authored
Replace global::shutdown_tracer_provider with tracer_provider.shutdown() (#155)
1 parent 72a6d4b commit 4d9b52f

File tree

5 files changed

+19
-15
lines changed

5 files changed

+19
-15
lines changed

opentelemetry-datadog/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## vNext
44

55
- Bump thiserror to 2.0
6+
- [Breaking] Replace `opentelemetry::global::shutdown_tracer_provider()` with `tracer_provider.shutdown()` (original PR [opentelemetry-rust#2369](https://github.com/open-telemetry/opentelemetry-rust/pull/2369))
67

78
## v0.15.0
89

opentelemetry-datadog/examples/agent_sampling.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use opentelemetry::{
2-
global::{self, shutdown_tracer_provider},
2+
global,
33
trace::{SamplingResult, Span, TraceContextExt, Tracer},
44
Key, KeyValue, Value,
55
};
@@ -57,7 +57,7 @@ impl ShouldSample for AgentBasedSampler {
5757

5858
fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
5959
#[allow(deprecated)]
60-
let tracer = new_pipeline()
60+
let (tracer, provider) = new_pipeline()
6161
.with_service_name("agent-sampling-demo")
6262
.with_api_version(ApiVersion::Version05)
6363
.with_trace_config(
@@ -88,7 +88,7 @@ fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
8888
thread::sleep(Duration::from_millis(6));
8989
});
9090

91-
shutdown_tracer_provider();
91+
provider.shutdown()?;
9292

9393
Ok(())
9494
}

opentelemetry-datadog/examples/datadog.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use opentelemetry::{
2-
global::{self, shutdown_tracer_provider},
2+
global,
33
trace::{Span, TraceContextExt, Tracer},
44
Key, KeyValue, Value,
55
};
@@ -23,7 +23,7 @@ fn bar() {
2323
}
2424

2525
fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
26-
let tracer = new_pipeline()
26+
let (tracer, provider) = new_pipeline()
2727
.with_service_name("trace-demo")
2828
.with_api_version(ApiVersion::Version05)
2929
.install_simple()?;
@@ -49,7 +49,7 @@ fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
4949
thread::sleep(Duration::from_millis(6));
5050
});
5151

52-
shutdown_tracer_provider();
52+
provider.shutdown()?;
5353

5454
Ok(())
5555
}

opentelemetry-datadog/src/exporter/mod.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ impl DatadogPipelineBuilder {
283283
}
284284

285285
/// Install the Datadog trace exporter pipeline using a simple span processor.
286-
pub fn install_simple(mut self) -> Result<Tracer, TraceError> {
286+
pub fn install_simple(mut self) -> Result<(Tracer, TracerProvider), TraceError> {
287287
let (config, service_name) = self.build_config_and_service_name();
288288
let exporter = self.build_exporter_with_service_name(service_name)?;
289289
let mut provider_builder = TracerProvider::builder().with_simple_exporter(exporter);
@@ -295,13 +295,16 @@ impl DatadogPipelineBuilder {
295295
.with_attributes(None)
296296
.build();
297297
let tracer = provider.tracer_with_scope(scope);
298-
let _ = global::set_tracer_provider(provider);
299-
Ok(tracer)
298+
let _ = global::set_tracer_provider(provider.clone());
299+
Ok((tracer, provider))
300300
}
301301

302302
/// Install the Datadog trace exporter pipeline using a batch span processor with the specified
303303
/// runtime.
304-
pub fn install_batch<R: RuntimeChannel>(mut self, runtime: R) -> Result<Tracer, TraceError> {
304+
pub fn install_batch<R: RuntimeChannel>(
305+
mut self,
306+
runtime: R,
307+
) -> Result<(Tracer, TracerProvider), TraceError> {
305308
let (config, service_name) = self.build_config_and_service_name();
306309
let exporter = self.build_exporter_with_service_name(service_name)?;
307310
let mut provider_builder = TracerProvider::builder().with_batch_exporter(exporter, runtime);
@@ -313,8 +316,8 @@ impl DatadogPipelineBuilder {
313316
.with_attributes(None)
314317
.build();
315318
let tracer = provider.tracer_with_scope(scope);
316-
let _ = global::set_tracer_provider(provider);
317-
Ok(tracer)
319+
let _ = global::set_tracer_provider(provider.clone());
320+
Ok((tracer, provider))
318321
}
319322

320323
/// Assign the service name under which to group traces

opentelemetry-datadog/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@
8383
//! use opentelemetry::{KeyValue, trace::Tracer};
8484
//! use opentelemetry_sdk::{trace::{self, RandomIdGenerator, Sampler}, Resource};
8585
//! use opentelemetry_sdk::export::trace::ExportResult;
86-
//! use opentelemetry::global::shutdown_tracer_provider;
8786
//! use opentelemetry_datadog::{new_pipeline, ApiVersion, Error};
8887
//! use opentelemetry_http::{HttpClient, HttpError};
8988
//! use async_trait::async_trait;
@@ -115,7 +114,8 @@
115114
//! }
116115
//!
117116
//! fn main() -> Result<(), opentelemetry::trace::TraceError> {
118-
//! let tracer = new_pipeline()
117+
//! #[allow(deprecated)]
118+
//! let (tracer, provider) = new_pipeline()
119119
//! .with_service_name("my_app")
120120
//! .with_api_version(ApiVersion::Version05)
121121
//! .with_agent_endpoint("http://localhost:8126")
@@ -130,7 +130,7 @@
130130
//! // Traced app logic here...
131131
//! });
132132
//!
133-
//! shutdown_tracer_provider(); // sending remaining spans before exit
133+
//! provider.shutdown()?; // sending remaining spans before exit
134134
//!
135135
//! Ok(())
136136
//! }

0 commit comments

Comments
 (0)