diff --git a/opentelemetry-sdk/CHANGELOG.md b/opentelemetry-sdk/CHANGELOG.md index 5930b405bc..ac35ff1695 100644 --- a/opentelemetry-sdk/CHANGELOG.md +++ b/opentelemetry-sdk/CHANGELOG.md @@ -45,6 +45,8 @@ - **Breaking** [1850] (https://github.com/open-telemetry/opentelemetry-rust/pull/1850) `LoggerProvider::log_processors()` and `LoggerProvider::resource()` are not public methods anymore. They are only used within the `opentelemetry-sdk` crate. +- [1857](https://github.com/open-telemetry/opentelemetry-rust/pull/1857) Fixed an issue in Metrics SDK which prevented export errors from being send to global error handler. With the fix, errors occurring during export like OTLP Endpoint unresponsive shows up in stderr by default. + ## v0.23.0 - Fix SimpleSpanProcessor to be consistent with log counterpart. Also removed diff --git a/opentelemetry-sdk/src/metrics/periodic_reader.rs b/opentelemetry-sdk/src/metrics/periodic_reader.rs index 3c7b9d66be..8b34ec4f09 100644 --- a/opentelemetry-sdk/src/metrics/periodic_reader.rs +++ b/opentelemetry-sdk/src/metrics/periodic_reader.rs @@ -260,7 +260,7 @@ impl PeriodicReaderWorker { pin_mut!(timeout); match future::select(export, timeout).await { - Either::Left(_) => Ok(()), + Either::Left((res, _)) => res, // return the result. Either::Right(_) => Err(MetricsError::Other("export timed out".into())), } }