From e0a8460a4777da37160938bc5aae79938eea62f7 Mon Sep 17 00:00:00 2001 From: Lalit Date: Thu, 25 Jan 2024 09:14:02 -0800 Subject: [PATCH 1/6] fix --- opentelemetry-sdk/src/lib.rs | 1 - .../src/testing/logs/in_memory_exporter.rs | 1 + opentelemetry-sdk/src/testing/logs/mod.rs | 6 +- opentelemetry-sdk/src/testing/metrics/mod.rs | 7 +- opentelemetry-sdk/src/testing/mod.rs | 3 + opentelemetry-sdk/src/testing/trace/mod.rs | 176 +----------------- .../src/testing/trace/span_exporters.rs | 168 +++++++++++++++++ 7 files changed, 187 insertions(+), 175 deletions(-) create mode 100644 opentelemetry-sdk/src/testing/trace/span_exporters.rs diff --git a/opentelemetry-sdk/src/lib.rs b/opentelemetry-sdk/src/lib.rs index b021ea5bcd..2d2c764df8 100644 --- a/opentelemetry-sdk/src/lib.rs +++ b/opentelemetry-sdk/src/lib.rs @@ -126,7 +126,6 @@ pub mod propagation; pub mod resource; pub mod runtime; #[cfg(any(feature = "testing", test))] -#[doc(hidden)] pub mod testing; #[cfg(feature = "trace")] #[cfg_attr(docsrs, doc(cfg(feature = "trace")))] diff --git a/opentelemetry-sdk/src/testing/logs/in_memory_exporter.rs b/opentelemetry-sdk/src/testing/logs/in_memory_exporter.rs index aca67dc20b..36333b7c25 100644 --- a/opentelemetry-sdk/src/testing/logs/in_memory_exporter.rs +++ b/opentelemetry-sdk/src/testing/logs/in_memory_exporter.rs @@ -34,6 +34,7 @@ use std::sync::{Arc, Mutex}; /// ``` /// #[derive(Clone, Debug)] +//TBD -1 pub struct InMemoryLogsExporter { logs: Arc>>, } diff --git a/opentelemetry-sdk/src/testing/logs/mod.rs b/opentelemetry-sdk/src/testing/logs/mod.rs index b0f8de37b3..d27a401776 100644 --- a/opentelemetry-sdk/src/testing/logs/mod.rs +++ b/opentelemetry-sdk/src/testing/logs/mod.rs @@ -1,3 +1,5 @@ +/// The `in_memory_exporter` module provides in-memory logging functionalities. +/// For detailed usage and examples, see `in_memory_exporter`. +pub mod in_memory_exporter; +//TBD-2 pub use in_memory_exporter::{InMemoryLogsExporter, InMemoryLogsExporterBuilder}; - -mod in_memory_exporter; diff --git a/opentelemetry-sdk/src/testing/metrics/mod.rs b/opentelemetry-sdk/src/testing/metrics/mod.rs index 29f5d54e94..2c182ac96b 100644 --- a/opentelemetry-sdk/src/testing/metrics/mod.rs +++ b/opentelemetry-sdk/src/testing/metrics/mod.rs @@ -1,5 +1,8 @@ +/// The `in_memory_exporter` module provides in-memory metrics functionalities. +/// For detailed usage and examples, see `in_memory_exporter`. +pub mod in_memory_exporter; pub use in_memory_exporter::{InMemoryMetricsExporter, InMemoryMetricsExporterBuilder}; -pub use metric_reader::TestMetricReader; -pub mod in_memory_exporter; +#[doc(hidden)] pub mod metric_reader; +pub use metric_reader::TestMetricReader; diff --git a/opentelemetry-sdk/src/testing/mod.rs b/opentelemetry-sdk/src/testing/mod.rs index f1f94c01c9..57f5cef27e 100644 --- a/opentelemetry-sdk/src/testing/mod.rs +++ b/opentelemetry-sdk/src/testing/mod.rs @@ -1,8 +1,11 @@ #[cfg(all(feature = "testing", feature = "trace"))] +#[doc(hidden)] pub mod trace; #[cfg(all(feature = "testing", feature = "metrics"))] +#[doc(hidden)] pub mod metrics; #[cfg(all(feature = "testing", feature = "logs"))] +/// TBD-1 pub mod logs; diff --git a/opentelemetry-sdk/src/testing/trace/mod.rs b/opentelemetry-sdk/src/testing/trace/mod.rs index 7605101d86..a9f1a37358 100644 --- a/opentelemetry-sdk/src/testing/trace/mod.rs +++ b/opentelemetry-sdk/src/testing/trace/mod.rs @@ -1,172 +1,8 @@ +/// The `in_memory_exporter` module provides in-memory trace functionalities. +/// For detailed usage and examples, see `in_memory_exporter`. +pub mod in_memory_exporter; pub use in_memory_exporter::{InMemorySpanExporter, InMemorySpanExporterBuilder}; -mod in_memory_exporter; - -use crate::{ - export::{ - trace::{ExportResult, SpanData, SpanExporter}, - ExportError, - }, - trace::{Config, SpanEvents, SpanLinks}, - InstrumentationLibrary, -}; -use async_trait::async_trait; -use crossbeam_channel::{unbounded, Receiver, SendError, Sender}; -use futures_util::future::BoxFuture; -pub use opentelemetry::testing::trace::TestSpan; -use opentelemetry::trace::{ - SpanContext, SpanId, SpanKind, Status, TraceFlags, TraceId, TraceState, -}; -use std::fmt::{Display, Formatter}; - -pub fn new_test_export_span_data() -> SpanData { - let config = Config::default(); - SpanData { - span_context: SpanContext::new( - TraceId::from_u128(1), - SpanId::from_u64(1), - TraceFlags::SAMPLED, - false, - TraceState::default(), - ), - parent_span_id: SpanId::INVALID, - span_kind: SpanKind::Internal, - name: "opentelemetry".into(), - start_time: opentelemetry::time::now(), - end_time: opentelemetry::time::now(), - attributes: Vec::new(), - dropped_attributes_count: 0, - events: SpanEvents::default(), - links: SpanLinks::default(), - status: Status::Unset, - resource: config.resource, - instrumentation_lib: InstrumentationLibrary::default(), - } -} - -#[derive(Debug)] -pub struct TestSpanExporter { - tx_export: Sender, - tx_shutdown: Sender<()>, -} - -#[async_trait] -impl SpanExporter for TestSpanExporter { - fn export(&mut self, batch: Vec) -> BoxFuture<'static, ExportResult> { - for span_data in batch { - if let Err(err) = self - .tx_export - .send(span_data) - .map_err::(Into::into) - { - return Box::pin(std::future::ready(Err(Into::into(err)))); - } - } - Box::pin(std::future::ready(Ok(()))) - } - - fn shutdown(&mut self) { - let _ = self.tx_shutdown.send(()); // ignore error - } -} - -pub fn new_test_exporter() -> (TestSpanExporter, Receiver, Receiver<()>) { - let (tx_export, rx_export) = unbounded(); - let (tx_shutdown, rx_shutdown) = unbounded(); - let exporter = TestSpanExporter { - tx_export, - tx_shutdown, - }; - (exporter, rx_export, rx_shutdown) -} - -#[derive(Debug)] -pub struct TokioSpanExporter { - tx_export: tokio::sync::mpsc::UnboundedSender, - tx_shutdown: tokio::sync::mpsc::UnboundedSender<()>, -} - -impl SpanExporter for TokioSpanExporter { - fn export(&mut self, batch: Vec) -> BoxFuture<'static, ExportResult> { - for span_data in batch { - if let Err(err) = self - .tx_export - .send(span_data) - .map_err::(Into::into) - { - return Box::pin(std::future::ready(Err(Into::into(err)))); - } - } - Box::pin(std::future::ready(Ok(()))) - } - - fn shutdown(&mut self) { - self.tx_shutdown.send(()).unwrap(); - } -} - -pub fn new_tokio_test_exporter() -> ( - TokioSpanExporter, - tokio::sync::mpsc::UnboundedReceiver, - tokio::sync::mpsc::UnboundedReceiver<()>, -) { - let (tx_export, rx_export) = tokio::sync::mpsc::unbounded_channel(); - let (tx_shutdown, rx_shutdown) = tokio::sync::mpsc::unbounded_channel(); - let exporter = TokioSpanExporter { - tx_export, - tx_shutdown, - }; - (exporter, rx_export, rx_shutdown) -} - -#[derive(Debug)] -pub struct TestExportError(String); - -impl std::error::Error for TestExportError {} - -impl ExportError for TestExportError { - fn exporter_name(&self) -> &'static str { - "test" - } -} - -impl Display for TestExportError { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", self.0) - } -} - -#[cfg(any(feature = "rt-tokio", feature = "rt-tokio-current-thread"))] -impl From> for TestExportError { - fn from(err: tokio::sync::mpsc::error::SendError) -> Self { - TestExportError(err.to_string()) - } -} - -impl From> for TestExportError { - fn from(err: SendError) -> Self { - TestExportError(err.to_string()) - } -} - -/// A no-op instance of an [`SpanExporter`]. -/// -/// [`SpanExporter`]: crate::export::trace::SpanExporter -#[derive(Debug, Default)] -pub struct NoopSpanExporter { - _private: (), -} - -impl NoopSpanExporter { - /// Create a new noop span exporter - pub fn new() -> Self { - NoopSpanExporter { _private: () } - } -} - -#[async_trait::async_trait] -impl SpanExporter for NoopSpanExporter { - fn export(&mut self, _: Vec) -> BoxFuture<'static, ExportResult> { - Box::pin(std::future::ready(Ok(()))) - } -} +#[doc(hidden)] +mod span_exporters; +pub use span_exporters::*; diff --git a/opentelemetry-sdk/src/testing/trace/span_exporters.rs b/opentelemetry-sdk/src/testing/trace/span_exporters.rs new file mode 100644 index 0000000000..92666e229f --- /dev/null +++ b/opentelemetry-sdk/src/testing/trace/span_exporters.rs @@ -0,0 +1,168 @@ +use crate::{ + export::{ + trace::{ExportResult, SpanData, SpanExporter}, + ExportError, + }, + trace::{Config, SpanEvents, SpanLinks}, + InstrumentationLibrary, +}; +use async_trait::async_trait; +use crossbeam_channel::{unbounded, Receiver, SendError, Sender}; +use futures_util::future::BoxFuture; +pub use opentelemetry::testing::trace::TestSpan; +use opentelemetry::trace::{ + SpanContext, SpanId, SpanKind, Status, TraceFlags, TraceId, TraceState, +}; +use std::fmt::{Display, Formatter}; + +pub fn new_test_export_span_data() -> SpanData { + let config = Config::default(); + SpanData { + span_context: SpanContext::new( + TraceId::from_u128(1), + SpanId::from_u64(1), + TraceFlags::SAMPLED, + false, + TraceState::default(), + ), + parent_span_id: SpanId::INVALID, + span_kind: SpanKind::Internal, + name: "opentelemetry".into(), + start_time: opentelemetry::time::now(), + end_time: opentelemetry::time::now(), + attributes: Vec::new(), + dropped_attributes_count: 0, + events: SpanEvents::default(), + links: SpanLinks::default(), + status: Status::Unset, + resource: config.resource, + instrumentation_lib: InstrumentationLibrary::default(), + } +} + +#[derive(Debug)] +pub struct TestSpanExporter { + tx_export: Sender, + tx_shutdown: Sender<()>, +} + +#[async_trait] +impl SpanExporter for TestSpanExporter { + fn export(&mut self, batch: Vec) -> BoxFuture<'static, ExportResult> { + for span_data in batch { + if let Err(err) = self + .tx_export + .send(span_data) + .map_err::(Into::into) + { + return Box::pin(std::future::ready(Err(Into::into(err)))); + } + } + Box::pin(std::future::ready(Ok(()))) + } + + fn shutdown(&mut self) { + let _ = self.tx_shutdown.send(()); // ignore error + } +} + +pub fn new_test_exporter() -> (TestSpanExporter, Receiver, Receiver<()>) { + let (tx_export, rx_export) = unbounded(); + let (tx_shutdown, rx_shutdown) = unbounded(); + let exporter = TestSpanExporter { + tx_export, + tx_shutdown, + }; + (exporter, rx_export, rx_shutdown) +} + +#[derive(Debug)] +pub struct TokioSpanExporter { + tx_export: tokio::sync::mpsc::UnboundedSender, + tx_shutdown: tokio::sync::mpsc::UnboundedSender<()>, +} + +impl SpanExporter for TokioSpanExporter { + fn export(&mut self, batch: Vec) -> BoxFuture<'static, ExportResult> { + for span_data in batch { + if let Err(err) = self + .tx_export + .send(span_data) + .map_err::(Into::into) + { + return Box::pin(std::future::ready(Err(Into::into(err)))); + } + } + Box::pin(std::future::ready(Ok(()))) + } + + fn shutdown(&mut self) { + self.tx_shutdown.send(()).unwrap(); + } +} + +pub fn new_tokio_test_exporter() -> ( + TokioSpanExporter, + tokio::sync::mpsc::UnboundedReceiver, + tokio::sync::mpsc::UnboundedReceiver<()>, +) { + let (tx_export, rx_export) = tokio::sync::mpsc::unbounded_channel(); + let (tx_shutdown, rx_shutdown) = tokio::sync::mpsc::unbounded_channel(); + let exporter = TokioSpanExporter { + tx_export, + tx_shutdown, + }; + (exporter, rx_export, rx_shutdown) +} + +#[derive(Debug)] +pub struct TestExportError(String); + +impl std::error::Error for TestExportError {} + +impl ExportError for TestExportError { + fn exporter_name(&self) -> &'static str { + "test" + } +} + +impl Display for TestExportError { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.0) + } +} + +#[cfg(any(feature = "rt-tokio", feature = "rt-tokio-current-thread"))] +impl From> for TestExportError { + fn from(err: tokio::sync::mpsc::error::SendError) -> Self { + TestExportError(err.to_string()) + } +} + +impl From> for TestExportError { + fn from(err: SendError) -> Self { + TestExportError(err.to_string()) + } +} + +/// A no-op instance of an [`SpanExporter`]. +/// +/// [`SpanExporter`]: crate::export::trace::SpanExporter +#[derive(Debug, Default)] +pub struct NoopSpanExporter { + _private: (), +} + +impl NoopSpanExporter { + /// Create a new noop span exporter + pub fn new() -> Self { + NoopSpanExporter { _private: () } + } +} + +#[async_trait::async_trait] +impl SpanExporter for NoopSpanExporter { + fn export(&mut self, _: Vec) -> BoxFuture<'static, ExportResult> { + Box::pin(std::future::ready(Ok(()))) + } +} From 3034598b50e760557dc7eaae4aa1cadbc5c52e11 Mon Sep 17 00:00:00 2001 From: Lalit Date: Tue, 30 Jan 2024 16:21:31 -0800 Subject: [PATCH 2/6] add docs --- opentelemetry-sdk/src/lib.rs | 1 + opentelemetry-sdk/src/testing/logs/mod.rs | 3 ++- opentelemetry-sdk/src/testing/metrics/mod.rs | 2 ++ opentelemetry-sdk/src/testing/mod.rs | 5 ++--- opentelemetry-sdk/src/testing/trace/mod.rs | 2 ++ 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/opentelemetry-sdk/src/lib.rs b/opentelemetry-sdk/src/lib.rs index 2d2c764df8..57a55a064e 100644 --- a/opentelemetry-sdk/src/lib.rs +++ b/opentelemetry-sdk/src/lib.rs @@ -126,6 +126,7 @@ pub mod propagation; pub mod resource; pub mod runtime; #[cfg(any(feature = "testing", test))] +#[cfg_attr(docsrs, doc(cfg(any(feature = "testing", test))))] pub mod testing; #[cfg(feature = "trace")] #[cfg_attr(docsrs, doc(cfg(feature = "trace")))] diff --git a/opentelemetry-sdk/src/testing/logs/mod.rs b/opentelemetry-sdk/src/testing/logs/mod.rs index d27a401776..30831f749c 100644 --- a/opentelemetry-sdk/src/testing/logs/mod.rs +++ b/opentelemetry-sdk/src/testing/logs/mod.rs @@ -1,5 +1,6 @@ +//! In-Memory logs exporter for testing purposes. + /// The `in_memory_exporter` module provides in-memory logging functionalities. /// For detailed usage and examples, see `in_memory_exporter`. pub mod in_memory_exporter; -//TBD-2 pub use in_memory_exporter::{InMemoryLogsExporter, InMemoryLogsExporterBuilder}; diff --git a/opentelemetry-sdk/src/testing/metrics/mod.rs b/opentelemetry-sdk/src/testing/metrics/mod.rs index 2c182ac96b..a807346f39 100644 --- a/opentelemetry-sdk/src/testing/metrics/mod.rs +++ b/opentelemetry-sdk/src/testing/metrics/mod.rs @@ -1,3 +1,5 @@ +//! In-memory metrics exporter for testing purposes. + /// The `in_memory_exporter` module provides in-memory metrics functionalities. /// For detailed usage and examples, see `in_memory_exporter`. pub mod in_memory_exporter; diff --git a/opentelemetry-sdk/src/testing/mod.rs b/opentelemetry-sdk/src/testing/mod.rs index 57f5cef27e..8b79ae1793 100644 --- a/opentelemetry-sdk/src/testing/mod.rs +++ b/opentelemetry-sdk/src/testing/mod.rs @@ -1,11 +1,10 @@ +//! InMemory Exporters for testing purposes + #[cfg(all(feature = "testing", feature = "trace"))] -#[doc(hidden)] pub mod trace; #[cfg(all(feature = "testing", feature = "metrics"))] -#[doc(hidden)] pub mod metrics; #[cfg(all(feature = "testing", feature = "logs"))] -/// TBD-1 pub mod logs; diff --git a/opentelemetry-sdk/src/testing/trace/mod.rs b/opentelemetry-sdk/src/testing/trace/mod.rs index a9f1a37358..64ab61ef06 100644 --- a/opentelemetry-sdk/src/testing/trace/mod.rs +++ b/opentelemetry-sdk/src/testing/trace/mod.rs @@ -1,3 +1,5 @@ +//! In-memory trace exporter for testing purposes. + /// The `in_memory_exporter` module provides in-memory trace functionalities. /// For detailed usage and examples, see `in_memory_exporter`. pub mod in_memory_exporter; From 32c4386a07d55536b1243fb15061b6051d5d17f4 Mon Sep 17 00:00:00 2001 From: Lalit Kumar Bhasin Date: Wed, 31 Jan 2024 00:59:33 +0000 Subject: [PATCH 3/6] remove unwanted comment --- opentelemetry-sdk/src/testing/logs/in_memory_exporter.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/opentelemetry-sdk/src/testing/logs/in_memory_exporter.rs b/opentelemetry-sdk/src/testing/logs/in_memory_exporter.rs index 36333b7c25..aca67dc20b 100644 --- a/opentelemetry-sdk/src/testing/logs/in_memory_exporter.rs +++ b/opentelemetry-sdk/src/testing/logs/in_memory_exporter.rs @@ -34,7 +34,6 @@ use std::sync::{Arc, Mutex}; /// ``` /// #[derive(Clone, Debug)] -//TBD -1 pub struct InMemoryLogsExporter { logs: Arc>>, } From 231aba058c0afcce621d85d9bda7c5c241db6705 Mon Sep 17 00:00:00 2001 From: Lalit Kumar Bhasin Date: Wed, 31 Jan 2024 01:04:11 +0000 Subject: [PATCH 4/6] make doc consistent --- opentelemetry-sdk/src/testing/logs/mod.rs | 2 +- opentelemetry-sdk/src/testing/metrics/mod.rs | 2 +- opentelemetry-sdk/src/testing/mod.rs | 2 +- opentelemetry-sdk/src/testing/trace/mod.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opentelemetry-sdk/src/testing/logs/mod.rs b/opentelemetry-sdk/src/testing/logs/mod.rs index 30831f749c..7276790152 100644 --- a/opentelemetry-sdk/src/testing/logs/mod.rs +++ b/opentelemetry-sdk/src/testing/logs/mod.rs @@ -1,4 +1,4 @@ -//! In-Memory logs exporter for testing purposes. +//! In-Memory log exporter for testing purpose. /// The `in_memory_exporter` module provides in-memory logging functionalities. /// For detailed usage and examples, see `in_memory_exporter`. diff --git a/opentelemetry-sdk/src/testing/metrics/mod.rs b/opentelemetry-sdk/src/testing/metrics/mod.rs index a807346f39..48b9be1512 100644 --- a/opentelemetry-sdk/src/testing/metrics/mod.rs +++ b/opentelemetry-sdk/src/testing/metrics/mod.rs @@ -1,4 +1,4 @@ -//! In-memory metrics exporter for testing purposes. +//! In-Memory metrics exporter for testing purpose. /// The `in_memory_exporter` module provides in-memory metrics functionalities. /// For detailed usage and examples, see `in_memory_exporter`. diff --git a/opentelemetry-sdk/src/testing/mod.rs b/opentelemetry-sdk/src/testing/mod.rs index 8b79ae1793..50c79f5d49 100644 --- a/opentelemetry-sdk/src/testing/mod.rs +++ b/opentelemetry-sdk/src/testing/mod.rs @@ -1,4 +1,4 @@ -//! InMemory Exporters for testing purposes +//! In-Memory exporters for testing purpose. #[cfg(all(feature = "testing", feature = "trace"))] pub mod trace; diff --git a/opentelemetry-sdk/src/testing/trace/mod.rs b/opentelemetry-sdk/src/testing/trace/mod.rs index 64ab61ef06..0959d1bf95 100644 --- a/opentelemetry-sdk/src/testing/trace/mod.rs +++ b/opentelemetry-sdk/src/testing/trace/mod.rs @@ -1,4 +1,4 @@ -//! In-memory trace exporter for testing purposes. +//! In-Memory trace exporter for testing purpose. /// The `in_memory_exporter` module provides in-memory trace functionalities. /// For detailed usage and examples, see `in_memory_exporter`. From 89c3419171e2e6131f50dd27fb71a5056e1be1c4 Mon Sep 17 00:00:00 2001 From: Lalit Kumar Bhasin Date: Wed, 31 Jan 2024 01:11:26 +0000 Subject: [PATCH 5/6] fix doc --- opentelemetry-sdk/src/testing/logs/mod.rs | 2 +- opentelemetry-sdk/src/testing/metrics/mod.rs | 2 +- opentelemetry-sdk/src/testing/trace/mod.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/opentelemetry-sdk/src/testing/logs/mod.rs b/opentelemetry-sdk/src/testing/logs/mod.rs index 7276790152..57d1eaf401 100644 --- a/opentelemetry-sdk/src/testing/logs/mod.rs +++ b/opentelemetry-sdk/src/testing/logs/mod.rs @@ -1,6 +1,6 @@ //! In-Memory log exporter for testing purpose. -/// The `in_memory_exporter` module provides in-memory logging functionalities. +/// The `in_memory_exporter` module provides in-memory log exporter. /// For detailed usage and examples, see `in_memory_exporter`. pub mod in_memory_exporter; pub use in_memory_exporter::{InMemoryLogsExporter, InMemoryLogsExporterBuilder}; diff --git a/opentelemetry-sdk/src/testing/metrics/mod.rs b/opentelemetry-sdk/src/testing/metrics/mod.rs index 48b9be1512..cac9f58ce4 100644 --- a/opentelemetry-sdk/src/testing/metrics/mod.rs +++ b/opentelemetry-sdk/src/testing/metrics/mod.rs @@ -1,6 +1,6 @@ //! In-Memory metrics exporter for testing purpose. -/// The `in_memory_exporter` module provides in-memory metrics functionalities. +/// The `in_memory_exporter` module provides in-memory metrics exporter. /// For detailed usage and examples, see `in_memory_exporter`. pub mod in_memory_exporter; pub use in_memory_exporter::{InMemoryMetricsExporter, InMemoryMetricsExporterBuilder}; diff --git a/opentelemetry-sdk/src/testing/trace/mod.rs b/opentelemetry-sdk/src/testing/trace/mod.rs index 0959d1bf95..c7b7786d36 100644 --- a/opentelemetry-sdk/src/testing/trace/mod.rs +++ b/opentelemetry-sdk/src/testing/trace/mod.rs @@ -1,6 +1,6 @@ //! In-Memory trace exporter for testing purpose. -/// The `in_memory_exporter` module provides in-memory trace functionalities. +/// The `in_memory_exporter` module provides in-memory trace exporter. /// For detailed usage and examples, see `in_memory_exporter`. pub mod in_memory_exporter; pub use in_memory_exporter::{InMemorySpanExporter, InMemorySpanExporterBuilder}; From e885c6bda5e567d64a3945f5965471738ee889ac Mon Sep 17 00:00:00 2001 From: Lalit Kumar Bhasin Date: Wed, 31 Jan 2024 01:43:41 +0000 Subject: [PATCH 6/6] add changeslog --- opentelemetry-sdk/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/opentelemetry-sdk/CHANGELOG.md b/opentelemetry-sdk/CHANGELOG.md index 8eb3fd3d39..b594320fdf 100644 --- a/opentelemetry-sdk/CHANGELOG.md +++ b/opentelemetry-sdk/CHANGELOG.md @@ -6,6 +6,7 @@ - [#1410](https://github.com/open-telemetry/opentelemetry-rust/pull/1410) Add experimental synchronous gauge - [#1471](https://github.com/open-telemetry/opentelemetry-rust/pull/1471) Configure batch log record processor via [`OTEL_BLRP_*`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#batch-logrecord-processor) environment variables and via `OtlpLogPipeline::with_batch_config` +- [#1503](https://github.com/open-telemetry/opentelemetry-rust/pull/1503) Make the documentation for In-Memory exporters visible. ### Changed