Skip to content

Commit 41b620d

Browse files
add shutdown with timeout for metric provider
1 parent 015252a commit 41b620d

File tree

21 files changed

+70
-72
lines changed

21 files changed

+70
-72
lines changed

opentelemetry-appender-tracing/benches/logs.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
| ot_layer_disabled | 19 ns |
1313
| ot_layer_enabled | 196 ns |
1414
*/
15-
1615
use criterion::{criterion_group, criterion_main, Criterion};
1716
use opentelemetry::InstrumentationScope;
1817
use opentelemetry_appender_tracing::layer as tracing_layer;
@@ -21,6 +20,7 @@ use opentelemetry_sdk::logs::{LogProcessor, SdkLogRecord, SdkLoggerProvider};
2120
use opentelemetry_sdk::Resource;
2221
#[cfg(not(target_os = "windows"))]
2322
use pprof::criterion::{Output, PProfProfiler};
23+
use std::time::Duration;
2424
use tracing::error;
2525
use tracing_subscriber::prelude::*;
2626
use tracing_subscriber::Layer;
@@ -44,7 +44,7 @@ impl LogProcessor for NoopProcessor {
4444
Ok(())
4545
}
4646

47-
fn shutdown(&self) -> OTelSdkResult {
47+
fn shutdown(&self, _timeout: Duration) -> OTelSdkResult {
4848
Ok(())
4949
}
5050

opentelemetry-otlp/src/exporter/http/logs.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::time::Duration;
2-
31
use super::OtlpHttpClient;
42
use http::{header::CONTENT_TYPE, Method};
53
use opentelemetry::otel_debug;
@@ -48,7 +46,7 @@ impl LogExporter for OtlpHttpClient {
4846
Ok(())
4947
}
5048

51-
fn shutdown(&mut self, _timeout: Duration) -> OTelSdkResult {
49+
fn shutdown(&mut self) -> OTelSdkResult {
5250
let mut client_guard = self.client.lock().map_err(|e| {
5351
OTelSdkError::InternalFailure(format!("Failed to acquire client lock: {}", e))
5452
})?;

opentelemetry-otlp/src/exporter/tonic/logs.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
use core::fmt;
2-
use std::time::Duration;
32
use opentelemetry::otel_debug;
43
use opentelemetry_proto::tonic::collector::logs::v1::{
54
logs_service_client::LogsServiceClient, ExportLogsServiceRequest,
@@ -87,7 +86,7 @@ impl LogExporter for TonicLogsClient {
8786
Ok(())
8887
}
8988

90-
fn shutdown(&mut self, _timeout: Duration) -> OTelSdkResult {
89+
fn shutdown(&mut self) -> OTelSdkResult {
9190
match self.inner.take() {
9291
Some(_) => Ok(()), // Successfully took `inner`, indicating a successful shutdown.
9392
None => Err(OTelSdkError::AlreadyShutdown), // `inner` was already `None`, meaning it's already shut down.

opentelemetry-proto/src/transform/logs.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ mod tests {
229229
use opentelemetry_sdk::logs::LogProcessor;
230230
use opentelemetry_sdk::logs::SdkLoggerProvider;
231231
use opentelemetry_sdk::{logs::LogBatch, logs::SdkLogRecord, Resource};
232+
use std::time;
232233

233234
#[derive(Debug)]
234235
struct MockProcessor;
@@ -240,7 +241,7 @@ mod tests {
240241
Ok(())
241242
}
242243

243-
fn shutdown(&self) -> OTelSdkResult {
244+
fn shutdown(&self, _timeout: time::Duration) -> OTelSdkResult {
244245
Ok(())
245246
}
246247
}

opentelemetry-sdk/benches/log_processor.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
use opentelemetry::time::now;
1515
use std::{
1616
sync::{Arc, Mutex},
17-
thread::sleep, time::Duration,
17+
thread::sleep,
18+
time::Duration,
1819
};
1920

2021
use criterion::{criterion_group, criterion_main, Criterion};

opentelemetry-sdk/benches/metric.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
use rand::Rng;
2-
use std::sync::{Arc, Weak};
3-
41
use criterion::{criterion_group, criterion_main, Bencher, Criterion};
52
use opentelemetry::{
63
metrics::{Counter, Histogram, MeterProvider as _},
@@ -15,6 +12,9 @@ use opentelemetry_sdk::{
1512
},
1613
Resource,
1714
};
15+
use rand::Rng;
16+
use std::sync::{Arc, Weak};
17+
use std::time::Duration;
1818

1919
#[derive(Clone, Debug)]
2020
struct SharedReader(Arc<dyn MetricReader>);
@@ -32,8 +32,8 @@ impl MetricReader for SharedReader {
3232
self.0.force_flush()
3333
}
3434

35-
fn shutdown(&self) -> OTelSdkResult {
36-
self.0.shutdown()
35+
fn shutdown(&self, timeout: Duration) -> OTelSdkResult {
36+
self.0.shutdown(timeout)
3737
}
3838

3939
fn temporality(&self, kind: InstrumentKind) -> Temporality {

opentelemetry-sdk/src/logs/batch_log_processor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ impl BatchLogProcessor {
435435
&current_batch_size,
436436
&config,
437437
);
438-
let _ = exporter.shutdown(Duration::from_secs(5));
438+
let _ = exporter.shutdown();
439439
let _ = sender.send(result);
440440

441441
otel_debug!(

opentelemetry-sdk/src/logs/export.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use crate::Resource;
66
use opentelemetry::logs::Severity;
77
use opentelemetry::InstrumentationScope;
88
use std::fmt::Debug;
9-
use std::time::Duration;
109

1110
/// A batch of log records to be exported by a `LogExporter`.
1211
///
@@ -137,7 +136,7 @@ pub trait LogExporter: Send + Sync + Debug {
137136
) -> impl std::future::Future<Output = OTelSdkResult> + Send;
138137

139138
/// Shuts down the exporter.
140-
fn shutdown(&mut self, _timeout: Duration) -> OTelSdkResult {
139+
fn shutdown(&mut self) -> OTelSdkResult {
141140
Ok(())
142141
}
143142
#[cfg(feature = "spec_unstable_logs_enabled")]

opentelemetry-sdk/src/logs/in_memory_exporter.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use opentelemetry::InstrumentationScope;
66
use std::borrow::Cow;
77
use std::sync::atomic::AtomicBool;
88
use std::sync::{Arc, Mutex};
9-
use std::time::Duration;
109

1110
type LogResult<T> = Result<T, OTelSdkError>;
1211

@@ -212,7 +211,7 @@ impl LogExporter for InMemoryLogExporter {
212211
Ok(())
213212
}
214213

215-
fn shutdown(&mut self, _timeout: Duration) -> OTelSdkResult {
214+
fn shutdown(&mut self) -> OTelSdkResult {
216215
self.shutdown_called
217216
.store(true, std::sync::atomic::Ordering::Relaxed);
218217
if self.should_reset_on_shutdown {

opentelemetry-sdk/src/logs/log_processor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ pub(crate) mod tests {
9494
Ok(())
9595
}
9696

97-
fn shutdown(&mut self, _timeout: Duration) -> OTelSdkResult {
97+
fn shutdown(&mut self) -> OTelSdkResult {
9898
Ok(())
9999
}
100100

0 commit comments

Comments
 (0)