From 5c95647f926554d46ad780b346c7b581b8adadf2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 3 Aug 2025 18:36:34 +0000 Subject: [PATCH 1/2] Initial plan From 6bc03bc2bcb988902bf2e0c44619d730539ddf61 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 3 Aug 2025 18:48:46 +0000 Subject: [PATCH 2/2] Make NoopMeterProvider public to allow external usage Co-authored-by: cijothomas <5232798+cijothomas@users.noreply.github.com> --- opentelemetry/src/metrics/mod.rs | 3 ++- opentelemetry/src/metrics/noop.rs | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/opentelemetry/src/metrics/mod.rs b/opentelemetry/src/metrics/mod.rs index 385e3fbd9b..71e2c13df8 100644 --- a/opentelemetry/src/metrics/mod.rs +++ b/opentelemetry/src/metrics/mod.rs @@ -4,7 +4,7 @@ use std::sync::Arc; mod instruments; mod meter; -pub(crate) mod noop; +pub mod noop; pub use instruments::{ counter::{Counter, ObservableCounter}, gauge::{Gauge, ObservableGauge}, @@ -14,6 +14,7 @@ pub use instruments::{ SyncInstrument, }; pub use meter::{Meter, MeterProvider}; +pub use noop::NoopMeterProvider; /// SDK implemented trait for creating instruments pub trait InstrumentProvider { diff --git a/opentelemetry/src/metrics/noop.rs b/opentelemetry/src/metrics/noop.rs index 2d74be2805..c68671bf59 100644 --- a/opentelemetry/src/metrics/noop.rs +++ b/opentelemetry/src/metrics/noop.rs @@ -13,13 +13,13 @@ use super::instruments::SyncInstrument; /// A no-op instance of a `MetricProvider` #[derive(Debug, Default)] -pub(crate) struct NoopMeterProvider { +pub struct NoopMeterProvider { _private: (), } impl NoopMeterProvider { /// Create a new no-op meter provider. - pub(crate) fn new() -> Self { + pub fn new() -> Self { NoopMeterProvider { _private: () } } }