Skip to content

Commit 233d11a

Browse files
authored
docs: OTLP Examples to shutdown all signals (#2806)
1 parent 1bce83f commit 233d11a

File tree

2 files changed

+44
-6
lines changed
  • opentelemetry-otlp/examples

2 files changed

+44
-6
lines changed

opentelemetry-otlp/examples/basic-otlp-http/src/main.rs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,27 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
164164

165165
info!(target: "my-target", "hello from {}. My price is {}", "apple", 1.99);
166166

167-
tracer_provider.shutdown()?;
168-
meter_provider.shutdown()?;
169-
logger_provider.shutdown()?;
167+
// Collect all shutdown errors
168+
let mut shutdown_errors = Vec::new();
169+
if let Err(e) = tracer_provider.shutdown() {
170+
shutdown_errors.push(format!("tracer provider: {}", e));
171+
}
172+
173+
if let Err(e) = meter_provider.shutdown() {
174+
shutdown_errors.push(format!("meter provider: {}", e));
175+
}
170176

177+
if let Err(e) = logger_provider.shutdown() {
178+
shutdown_errors.push(format!("logger provider: {}", e));
179+
}
180+
181+
// Return an error if any shutdown failed
182+
if !shutdown_errors.is_empty() {
183+
return Err(format!(
184+
"Failed to shutdown providers:{}",
185+
shutdown_errors.join("\n")
186+
)
187+
.into());
188+
}
171189
Ok(())
172190
}

opentelemetry-otlp/examples/basic-otlp/src/main.rs

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,29 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
156156
});
157157

158158
info!(name: "my-event", target: "my-target", "hello from {}. My price is {}", "apple", 1.99);
159-
tracer_provider.shutdown()?;
160-
meter_provider.shutdown()?;
161-
logger_provider.shutdown()?;
159+
160+
// Collect all shutdown errors
161+
let mut shutdown_errors = Vec::new();
162+
if let Err(e) = tracer_provider.shutdown() {
163+
shutdown_errors.push(format!("tracer provider: {}", e));
164+
}
165+
166+
if let Err(e) = meter_provider.shutdown() {
167+
shutdown_errors.push(format!("meter provider: {}", e));
168+
}
169+
170+
if let Err(e) = logger_provider.shutdown() {
171+
shutdown_errors.push(format!("logger provider: {}", e));
172+
}
173+
174+
// Return an error if any shutdown failed
175+
if !shutdown_errors.is_empty() {
176+
return Err(format!(
177+
"Failed to shutdown providers:{}",
178+
shutdown_errors.join("\n")
179+
)
180+
.into());
181+
}
162182

163183
Ok(())
164184
}

0 commit comments

Comments
 (0)