diff --git a/opentelemetry-sdk/CHANGELOG.md b/opentelemetry-sdk/CHANGELOG.md index 4011544db4..9c503dbfc9 100644 --- a/opentelemetry-sdk/CHANGELOG.md +++ b/opentelemetry-sdk/CHANGELOG.md @@ -36,15 +36,12 @@ - **Breaking** The SpanExporter::export() method no longer requires a mutable reference to self. Before: - ```rust - async fn export(&mut self, batch: Vec) -> OTelSdkResult + async fn export(&mut self, batch: Vec) -> OTelSdkResult ``` - After: - ```rust - async fn export(&self, batch: Vec) -> OTelSdkResult + async fn export(&self, batch: Vec) -> OTelSdkResult ``` Custom exporters will need to internally synchronize any mutable state, if applicable. @@ -52,6 +49,8 @@ - Bug Fix: `BatchLogProcessor` now correctly calls `shutdown` on the exporter when its `shutdown` is invoked. +- Reduced some info level logs to debug + ## 0.28.0 Released 2025-Feb-10 @@ -93,7 +92,7 @@ field as metadata, a feature introduced in version 0.1.40. - `Resource::{new,empty,from_detectors,new_with_defaults,from_schema_url,merge,default}`. To create Resources you should only use `Resource::builder()` or `Resource::builder_empty()`. See [#2322](https://github.com/open-telemetry/opentelemetry-rust/pull/2322) for a migration guide. - + Example Usage: ```rust @@ -181,7 +180,7 @@ field as metadata, a feature introduced in version 0.1.40. - Does not support `hyper`, `reqwest` HTTP Clients - Does not support multiple concurrent exports (`with_max_concurrent_exports` is not supported). This existed only for traces. - + If this applies to you, you can get the old behavior back by following steps below: - Enable one or more of the feature flag from below @@ -249,7 +248,7 @@ limit. - *Breaking*: Rename namespaces for InMemoryExporters. (The module is still under "testing" feature flag) before: - + ```rust opentelemetry_sdk::testing::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder}; @@ -260,7 +259,7 @@ limit. ``` now: - + ```rust opentelemetry_sdk::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder}; opentelemetry_sdk::trace::{InMemorySpanExporter, diff --git a/opentelemetry-sdk/src/logs/batch_log_processor.rs b/opentelemetry-sdk/src/logs/batch_log_processor.rs index 8834009d29..01804cbdb2 100644 --- a/opentelemetry-sdk/src/logs/batch_log_processor.rs +++ b/opentelemetry-sdk/src/logs/batch_log_processor.rs @@ -23,7 +23,7 @@ use crate::{ }; use std::sync::mpsc::{self, RecvTimeoutError, SyncSender}; -use opentelemetry::{otel_debug, otel_error, otel_info, otel_warn, InstrumentationScope}; +use opentelemetry::{otel_debug, otel_error, otel_warn, InstrumentationScope}; use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; use std::{cmp::min, env, sync::Mutex}; @@ -342,7 +342,7 @@ impl BatchLogProcessor { let handle = thread::Builder::new() .name("OpenTelemetry.Logs.BatchProcessor".to_string()) .spawn(move || { - otel_info!( + otel_debug!( name: "BatchLogProcessor.ThreadStarted", interval_in_millisecs = config.scheduled_delay.as_millis(), max_export_batch_size = config.max_export_batch_size, @@ -476,7 +476,7 @@ impl BatchLogProcessor { } } } - otel_info!( + otel_debug!( name: "BatchLogProcessor.ThreadStopped" ); }) diff --git a/opentelemetry-sdk/src/metrics/meter_provider.rs b/opentelemetry-sdk/src/metrics/meter_provider.rs index 2c76dba3a6..1e38f627ce 100644 --- a/opentelemetry-sdk/src/metrics/meter_provider.rs +++ b/opentelemetry-sdk/src/metrics/meter_provider.rs @@ -110,7 +110,7 @@ impl SdkMeterProvider { /// There is no guaranteed that all telemetry be flushed or all resources have /// been released on error. pub fn shutdown(&self) -> OTelSdkResult { - otel_info!( + otel_debug!( name: "MeterProvider.Shutdown", message = "User initiated shutdown of MeterProvider." ); @@ -164,7 +164,7 @@ impl Drop for SdkMeterProviderInner { reason = format!("{}", err) ); } else { - otel_info!( + otel_debug!( name: "MeterProvider.Drop.ShutdownCompleted", ); } @@ -310,7 +310,7 @@ impl MeterProviderBuilder { }), }; - otel_info!( + otel_debug!( name: "MeterProvider.Built", ); meter_provider diff --git a/opentelemetry-sdk/src/metrics/periodic_reader.rs b/opentelemetry-sdk/src/metrics/periodic_reader.rs index 79f4e9e802..1e9f5bd16f 100644 --- a/opentelemetry-sdk/src/metrics/periodic_reader.rs +++ b/opentelemetry-sdk/src/metrics/periodic_reader.rs @@ -160,7 +160,7 @@ impl PeriodicReader { .spawn(move || { let mut interval_start = Instant::now(); let mut remaining_interval = interval; - otel_info!( + otel_debug!( name: "PeriodReaderThreadStarted", interval_in_millisecs = interval.as_millis(), ); @@ -190,16 +190,16 @@ impl PeriodicReader { if export_result.is_err() { if response_sender.send(false).is_err() { - otel_info!( + otel_debug!( name: "PeriodReader.Flush.ResponseSendError", - message = "PeriodicReader's flush has failed, but unable to send this info back to caller. + message = "PeriodicReader's flush has failed, but unable to send this info back to caller. This occurs when the caller has timed out waiting for the response. If you see this occuring frequently, consider increasing the flush timeout." ); } } else if response_sender.send(true).is_err() { - otel_info!( + otel_debug!( name: "PeriodReader.Flush.ResponseSendError", - message = "PeriodicReader's flush has completed successfully, but unable to send this info back to caller. + message = "PeriodicReader's flush has completed successfully, but unable to send this info back to caller. This occurs when the caller has timed out waiting for the response. If you see this occuring frequently, consider increasing the flush timeout." ); } @@ -253,14 +253,14 @@ impl PeriodicReader { if response_sender.send(false).is_err() { otel_info!( name: "PeriodReaderThreadShutdown.ResponseSendError", - message = "PeriodicReader's shutdown has failed, but unable to send this info back to caller. + message = "PeriodicReader's shutdown has failed, but unable to send this info back to caller. This occurs when the caller has timed out waiting for the response. If you see this occuring frequently, consider increasing the shutdown timeout." ); } } else if response_sender.send(true).is_err() { - otel_info!( + otel_debug!( name: "PeriodReaderThreadShutdown.ResponseSendError", - message = "PeriodicReader completed its shutdown, but unable to send this info back to caller. + message = "PeriodicReader completed its shutdown, but unable to send this info back to caller. This occurs when the caller has timed out waiting for the response. If you see this occuring frequently, consider increasing the shutdown timeout." ); } @@ -312,7 +312,7 @@ impl PeriodicReader { } } } - otel_info!( + otel_debug!( name: "PeriodReaderThreadStopped" ); }); @@ -499,7 +499,7 @@ impl MetricReader for PeriodicReader { /// This function SHOULD be obtained from the exporter. /// /// If not configured, the Cumulative temporality SHOULD be used. - /// + /// /// [metric-reader]: https://github.com/open-telemetry/opentelemetry-specification/blob/0a78571045ca1dca48621c9648ec3c832c3c541c/specification/metrics/sdk.md#metricreader fn temporality(&self, kind: InstrumentKind) -> Temporality { kind.temporality_preference(self.inner.temporality(kind)) diff --git a/opentelemetry-sdk/src/trace/span_processor.rs b/opentelemetry-sdk/src/trace/span_processor.rs index bb7b59d3f4..12f6b86bf3 100644 --- a/opentelemetry-sdk/src/trace/span_processor.rs +++ b/opentelemetry-sdk/src/trace/span_processor.rs @@ -39,8 +39,7 @@ use crate::resource::Resource; use crate::trace::Span; use crate::trace::{SpanData, SpanExporter}; use opentelemetry::Context; -use opentelemetry::{otel_debug, otel_warn}; -use opentelemetry::{otel_error, otel_info}; +use opentelemetry::{otel_debug, otel_error, otel_warn}; use std::cmp::min; use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::{Arc, Mutex}; @@ -317,7 +316,7 @@ impl BatchSpanProcessor { let handle = thread::Builder::new() .name("OpenTelemetry.Traces.BatchProcessor".to_string()) .spawn(move || { - otel_info!( + otel_debug!( name: "BatchSpanProcessor.ThreadStarted", interval_in_millisecs = config.scheduled_delay.as_millis(), max_export_batch_size = config.max_export_batch_size, @@ -413,7 +412,7 @@ impl BatchSpanProcessor { } } } - otel_info!( + otel_debug!( name: "BatchSpanProcessor.ThreadStopped" ); })