Skip to content

Commit

Permalink
Move Metric inmemory exporter (#2548)
Browse files Browse the repository at this point in the history
  • Loading branch information
cijothomas authored Jan 24, 2025
1 parent 6a13678 commit 6a8db83
Showing 6 changed files with 20 additions and 16 deletions.
2 changes: 2 additions & 0 deletions opentelemetry-sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -286,9 +286,11 @@ limit.
before:
`opentelemetry_sdk::testing::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder};`
`opentelemetry_sdk::testing::trace::{InMemorySpanExporter, InMemorySpanExporterBuilder};`
`opentelemetry_sdk::testing::metrics::{InMemoryMetricExporter, InMemoryMetricExporterBuilder};`
now:
`opentelemetry_sdk::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder};`
`opentelemetry_sdk::trace::{InMemorySpanExporter, InMemorySpanExporterBuilder};`
`opentelemetry_sdk::metrics::{InMemoryMetricExporter, InMemoryMetricExporterBuilder};`

## 0.27.1

Original file line number Diff line number Diff line change
@@ -27,7 +27,7 @@ use std::sync::{Arc, Mutex};
///# use opentelemetry_sdk::metrics;
///# use opentelemetry::{KeyValue};
///# use opentelemetry::metrics::MeterProvider;
///# use opentelemetry_sdk::testing::metrics::InMemoryMetricExporter;
///# use opentelemetry_sdk::metrics::InMemoryMetricExporter;
///# use opentelemetry_sdk::metrics::PeriodicReader;
///
///# #[tokio::main]
@@ -86,7 +86,7 @@ impl Default for InMemoryMetricExporter {
/// # Example
///
/// ```
/// # use opentelemetry_sdk::testing::metrics::{InMemoryMetricExporter, InMemoryMetricExporterBuilder};
/// # use opentelemetry_sdk::metrics::{InMemoryMetricExporter, InMemoryMetricExporterBuilder};
///
/// let exporter = InMemoryMetricExporterBuilder::new().build();
/// ```
@@ -138,7 +138,7 @@ impl InMemoryMetricExporter {
/// # Example
///
/// ```
/// # use opentelemetry_sdk::testing::metrics::InMemoryMetricExporter;
/// # use opentelemetry_sdk::metrics::InMemoryMetricExporter;
///
/// let exporter = InMemoryMetricExporter::default();
/// let finished_metrics = exporter.get_finished_metrics().unwrap();
@@ -155,7 +155,7 @@ impl InMemoryMetricExporter {
/// # Example
///
/// ```
/// # use opentelemetry_sdk::testing::metrics::InMemoryMetricExporter;
/// # use opentelemetry_sdk::metrics::InMemoryMetricExporter;
///
/// let exporter = InMemoryMetricExporter::default();
/// exporter.reset();
12 changes: 10 additions & 2 deletions opentelemetry-sdk/src/metrics/mod.rs
Original file line number Diff line number Diff line change
@@ -57,6 +57,14 @@ pub(crate) mod pipeline;
pub mod reader;
pub(crate) mod view;

/// In-Memory metric exporter for testing purpose.
#[cfg(any(feature = "testing", test))]
#[cfg_attr(docsrs, doc(cfg(any(feature = "testing", test))))]
pub mod in_memory_exporter;
#[cfg(any(feature = "testing", test))]
#[cfg_attr(docsrs, doc(cfg(any(feature = "testing", test))))]
pub use in_memory_exporter::{InMemoryMetricExporter, InMemoryMetricExporterBuilder};

pub use aggregation::*;
pub use error::{MetricError, MetricResult};
pub use manual_reader::*;
@@ -107,8 +115,8 @@ mod tests {
use super::*;
use crate::metrics::data::Aggregation;
use crate::metrics::data::ResourceMetrics;
use crate::testing::metrics::InMemoryMetricExporter;
use crate::testing::metrics::InMemoryMetricExporterBuilder;
use crate::metrics::InMemoryMetricExporter;
use crate::metrics::InMemoryMetricExporterBuilder;
use data::Gauge;
use data::GaugeDataPoint;
use data::Histogram;
2 changes: 1 addition & 1 deletion opentelemetry-sdk/src/metrics/periodic_reader.rs
Original file line number Diff line number Diff line change
@@ -468,11 +468,11 @@ impl MetricReader for PeriodicReader {
mod tests {
use super::PeriodicReader;
use crate::{
metrics::InMemoryMetricExporter,
metrics::{
data::ResourceMetrics, exporter::PushMetricExporter, reader::MetricReader, MetricError,
MetricResult, SdkMeterProvider, Temporality,
},
testing::metrics::InMemoryMetricExporter,
Resource,
};
use async_trait::async_trait;
Original file line number Diff line number Diff line change
@@ -416,8 +416,8 @@ mod tests {
use crate::metrics::reader::MetricReader;
use crate::metrics::MetricError;
use crate::{
metrics::data::ResourceMetrics, metrics::SdkMeterProvider, runtime,
testing::metrics::InMemoryMetricExporter, Resource,
metrics::data::ResourceMetrics, metrics::InMemoryMetricExporter, metrics::SdkMeterProvider,
runtime, Resource,
};
use opentelemetry::metrics::MeterProvider;
use std::sync::mpsc;
8 changes: 1 addition & 7 deletions opentelemetry-sdk/src/testing/metrics/mod.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
//! In-Memory metrics exporter for testing purpose.
/// 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::{InMemoryMetricExporter, InMemoryMetricExporterBuilder};

//! Structs for tests.
#[doc(hidden)]
pub mod metric_reader;
pub use metric_reader::TestMetricReader;

0 comments on commit 6a8db83

Please sign in to comment.