Skip to content

Commit b6c63c9

Browse files
committed
avoid reexport old periodicreader asis but now under different module
1 parent a986952 commit b6c63c9

File tree

8 files changed

+19
-41
lines changed

8 files changed

+19
-41
lines changed

opentelemetry-otlp/examples/basic-otlp-http/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ publish = false
99
default = ["reqwest"]
1010
reqwest = ["opentelemetry-otlp/reqwest-client"]
1111
hyper = ["opentelemetry-otlp/hyper-client"]
12+
experimental_metrics_periodicreader_with_async_runtime = ["opentelemetry_sdk/experimental_metrics_periodicreader_with_async_runtime"]
1213

1314

1415
[dependencies]

opentelemetry-otlp/examples/basic-otlp-http/src/main.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,13 @@ fn init_metrics() -> Result<opentelemetry_sdk::metrics::SdkMeterProvider, Metric
6363
.with_endpoint("http://localhost:4318/v1/metrics")
6464
.build()?;
6565

66+
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
67+
let reader = opentelemetry_sdk::metrics::periodic_reader_with_async_runtime::PeriodicReader::builder(exporter, runtime::Tokio).build();
68+
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
69+
let reader = PeriodicReader::builder(exporter).build();
70+
6671
Ok(SdkMeterProvider::builder()
67-
.with_reader(PeriodicReader::builder(exporter, runtime::Tokio).build())
72+
.with_reader(reader)
6873
.with_resource(RESOURCE.clone())
6974
.build())
7075
}

opentelemetry-otlp/examples/basic-otlp/Cargo.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ edition = "2021"
55
license = "Apache-2.0"
66
publish = false
77

8-
[features]
9-
experimental_metrics_periodicreader_with_async_runtime = ["opentelemetry_sdk/experimental_metrics_periodicreader_with_async_runtime"]
10-
118
[dependencies]
129
once_cell = { workspace = true }
1310
opentelemetry = { path = "../../../opentelemetry", features = ["metrics", "logs"] }

opentelemetry-otlp/examples/basic-otlp/src/main.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ fn init_traces() -> Result<sdktrace::TracerProvider, TraceError> {
3434

3535
fn init_metrics() -> Result<opentelemetry_sdk::metrics::SdkMeterProvider, MetricError> {
3636
let exporter = MetricExporter::builder().with_tonic().build()?;
37-
38-
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
39-
let reader = PeriodicReader::builder(exporter, runtime::Tokio).build();
40-
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
4137
let reader = PeriodicReader::builder(exporter).build();
4238

4339
Ok(SdkMeterProvider::builder()

opentelemetry-sdk/CHANGELOG.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,21 @@
5353
```
5454

5555
2. *Async Runtime Support*
56-
If your application cannot spin up new thread or you prefer using async
57-
runtimes, enable the "experimental_metrics_periodicreader_with_async_runtime" feature flag.
56+
If your application cannot spin up new threads or you prefer using async
57+
runtimes, enable the
58+
"experimental_metrics_periodicreader_with_async_runtime" feature flag and
59+
adjust code as below.
5860

59-
- *Code requires no change*
61+
- *Before:*
6062
```rust
6163
let reader = opentelemetry_sdk::metrics::PeriodicReader::builder(exporter, runtime::Tokio).build();
6264
```
6365

66+
- *After:*
67+
```rust
68+
let reader = opentelemetry_sdk::metrics::periodic_reader_with_async_runtime::PeriodicReader::builder(exporter, runtime::Tokio).build();
69+
```
70+
6471
*Requirements:*
6572
- Enable the feature flag:
6673
`experimental_metrics_periodicreader_with_async_runtime`.

opentelemetry-sdk/src/metrics/mod.rs

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ pub(crate) mod manual_reader;
4949
pub(crate) mod meter;
5050
mod meter_provider;
5151
pub(crate) mod noop;
52-
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
5352
pub(crate) mod periodic_reader;
5453
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
55-
pub(crate) mod periodic_reader_with_async_runtime;
54+
/// Module for periodic reader with async runtime.
55+
pub mod periodic_reader_with_async_runtime;
5656
pub(crate) mod pipeline;
5757
pub mod reader;
5858
pub(crate) mod view;
@@ -61,10 +61,7 @@ pub use aggregation::*;
6161
pub use error::{MetricError, MetricResult};
6262
pub use manual_reader::*;
6363
pub use meter_provider::*;
64-
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
6564
pub use periodic_reader::*;
66-
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
67-
pub use periodic_reader_with_async_runtime::*;
6865
pub use pipeline::Pipeline;
6966

7067
pub use instrument::InstrumentKind;
@@ -515,9 +512,6 @@ mod tests {
515512
}
516513

517514
let exporter = InMemoryMetricExporter::default();
518-
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
519-
let reader = PeriodicReader::builder(exporter.clone(), runtime::Tokio).build();
520-
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
521515
let reader = PeriodicReader::builder(exporter.clone()).build();
522516
let meter_provider = SdkMeterProvider::builder().with_reader(reader).build();
523517

@@ -534,9 +528,6 @@ mod tests {
534528
async fn counter_duplicate_instrument_merge() {
535529
// Arrange
536530
let exporter = InMemoryMetricExporter::default();
537-
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
538-
let reader = PeriodicReader::builder(exporter.clone(), runtime::Tokio).build();
539-
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
540531
let reader = PeriodicReader::builder(exporter.clone()).build();
541532
let meter_provider = SdkMeterProvider::builder().with_reader(reader).build();
542533

@@ -588,9 +579,6 @@ mod tests {
588579
async fn counter_duplicate_instrument_different_meter_no_merge() {
589580
// Arrange
590581
let exporter = InMemoryMetricExporter::default();
591-
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
592-
let reader = PeriodicReader::builder(exporter.clone(), runtime::Tokio).build();
593-
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
594582
let reader = PeriodicReader::builder(exporter.clone()).build();
595583
let meter_provider = SdkMeterProvider::builder().with_reader(reader).build();
596584

@@ -680,9 +668,6 @@ mod tests {
680668
async fn instrumentation_scope_identity_test() {
681669
// Arrange
682670
let exporter = InMemoryMetricExporter::default();
683-
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
684-
let reader = PeriodicReader::builder(exporter.clone(), runtime::Tokio).build();
685-
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
686671
let reader = PeriodicReader::builder(exporter.clone()).build();
687672
let meter_provider = SdkMeterProvider::builder().with_reader(reader).build();
688673

@@ -820,9 +805,6 @@ mod tests {
820805

821806
// Arrange
822807
let exporter = InMemoryMetricExporter::default();
823-
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
824-
let reader = PeriodicReader::builder(exporter.clone(), runtime::Tokio).build();
825-
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
826808
let reader = PeriodicReader::builder(exporter.clone()).build();
827809
let criteria = Instrument::new().name("my_observable_counter");
828810
// View drops all attributes.
@@ -898,9 +880,6 @@ mod tests {
898880

899881
// Arrange
900882
let exporter = InMemoryMetricExporter::default();
901-
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
902-
let reader = PeriodicReader::builder(exporter.clone(), runtime::Tokio).build();
903-
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
904883
let reader = PeriodicReader::builder(exporter.clone()).build();
905884
let criteria = Instrument::new().name("my_counter");
906885
// View drops all attributes.

opentelemetry-stdout/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ trace = ["opentelemetry/trace", "opentelemetry_sdk/trace", "futures-util"]
2525
metrics = ["async-trait", "opentelemetry/metrics", "opentelemetry_sdk/metrics"]
2626
logs = ["opentelemetry/logs", "opentelemetry_sdk/logs", "async-trait", "thiserror", "opentelemetry_sdk/spec_unstable_logs_enabled"]
2727
populate-logs-event-name = []
28-
experimental_metrics_periodicreader_with_async_runtime = ["opentelemetry_sdk/experimental_metrics_periodicreader_with_async_runtime", "opentelemetry_sdk/metrics"]
2928

3029
[dependencies]
3130
async-trait = { workspace = true, optional = true }

opentelemetry-stdout/examples/basic.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ use opentelemetry::trace::{Span, Tracer};
99
#[cfg(feature = "metrics")]
1010
use opentelemetry_sdk::metrics::{PeriodicReader, SdkMeterProvider};
1111

12-
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
13-
use opentelemetry_sdk::runtime;
14-
1512
#[cfg(feature = "trace")]
1613
use opentelemetry_sdk::trace::TracerProvider;
1714
use opentelemetry_sdk::Resource;
@@ -37,9 +34,6 @@ fn init_trace() -> TracerProvider {
3734
#[cfg(feature = "metrics")]
3835
fn init_metrics() -> opentelemetry_sdk::metrics::SdkMeterProvider {
3936
let exporter = opentelemetry_stdout::MetricExporter::default();
40-
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
41-
let reader = PeriodicReader::builder(exporter, runtime::Tokio).build();
42-
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
4337
let reader = PeriodicReader::builder(exporter).build();
4438
let provider = SdkMeterProvider::builder()
4539
.with_reader(reader)

0 commit comments

Comments
 (0)