diff --git a/README.md b/README.md index 50dfdc15c6..02eda2cf05 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,9 @@ use opentelemetry::{exporter::trace::stdout, trace::Tracer}; fn main() -> Result<(), Box> { // Create a new instrumentation pipeline + // Note: uninstalling the tracer happens when the _uninstall + // variable is dropped. Assigning it to _ will immediately + // drop it and uninstall the tracer let (tracer, _uninstall) = stdout::new_pipeline().install(); tracer.in_span("doing_work", |cx| { diff --git a/opentelemetry-contrib/src/trace/exporter/datadog/mod.rs b/opentelemetry-contrib/src/trace/exporter/datadog/mod.rs index 1ac8dfe402..727d6f5440 100644 --- a/opentelemetry-contrib/src/trace/exporter/datadog/mod.rs +++ b/opentelemetry-contrib/src/trace/exporter/datadog/mod.rs @@ -285,5 +285,6 @@ impl trace::SpanExporter for DatadogExporter { } /// Uninstalls the Datadog pipeline on drop +#[must_use] #[derive(Debug)] pub struct Uninstall(global::TracerProviderGuard); diff --git a/opentelemetry-jaeger/src/lib.rs b/opentelemetry-jaeger/src/lib.rs index 4f8b3198b3..cefe00a081 100644 --- a/opentelemetry-jaeger/src/lib.rs +++ b/opentelemetry-jaeger/src/lib.rs @@ -226,6 +226,7 @@ pub fn new_pipeline() -> PipelineBuilder { } /// Guard that uninstalls the Jaeger trace pipeline when dropped +#[must_use] #[derive(Debug)] pub struct Uninstall(global::TracerProviderGuard); diff --git a/opentelemetry-otlp/src/lib.rs b/opentelemetry-otlp/src/lib.rs index ab669f3073..c09a636d4b 100644 --- a/opentelemetry-otlp/src/lib.rs +++ b/opentelemetry-otlp/src/lib.rs @@ -232,6 +232,7 @@ impl OtlpPipelineBuilder { } /// Uninstalls the OTLP pipeline on drop +#[must_use] #[derive(Debug)] pub struct Uninstall(global::TracerProviderGuard); diff --git a/opentelemetry-zipkin/src/lib.rs b/opentelemetry-zipkin/src/lib.rs index dda11342a9..17ede8ed00 100644 --- a/opentelemetry-zipkin/src/lib.rs +++ b/opentelemetry-zipkin/src/lib.rs @@ -324,6 +324,7 @@ impl trace::SpanExporter for Exporter { } /// Uninstalls the Zipkin pipeline on drop. +#[must_use] #[derive(Debug)] pub struct Uninstall(global::TracerProviderGuard); diff --git a/opentelemetry/src/exporter/trace/stdout.rs b/opentelemetry/src/exporter/trace/stdout.rs index 437b39a520..7fcdb2719e 100644 --- a/opentelemetry/src/exporter/trace/stdout.rs +++ b/opentelemetry/src/exporter/trace/stdout.rs @@ -147,7 +147,8 @@ where } } -/// Uninstalls the stdout pipeline on dropping. +/// Uninstalls the stdout pipeline on drop. +#[must_use] #[derive(Debug)] pub struct Uninstall(global::TracerProviderGuard);