@@ -28,6 +28,7 @@ type InMemoryMetrics = Vec<ResourceMetrics>;
2828/// # Example
2929///
3030/// ```
31+ ///# use std::sync::{Arc, Mutex};
3132///# use opentelemetry_sdk::metrics;
3233///# use opentelemetry::{KeyValue};
3334///# use opentelemetry::metrics::MeterProvider;
@@ -36,15 +37,15 @@ type InMemoryMetrics = Vec<ResourceMetrics>;
3637///
3738///# #[tokio::main]
3839///# async fn main() {
39- /// // Create an InMemoryMetricExporter
40- /// let exporter = InMemoryMetricExporter::builder();
40+ /// // Create an InMemoryMetricExporter
4141/// let metrics = Arc::new(Mutex::new(Vec::new()));
42- /// let exporter = InMemoryMetricExporterBuilder::new()
43- /// .with_metrics(metrics.clone()).build();
42+ /// let exporter = InMemoryMetricExporter::builder()
43+ /// .with_metrics(metrics.clone())
44+ /// .build();
4445///
4546/// // Create a MeterProvider and register the exporter
4647/// let meter_provider = metrics::SdkMeterProvider::builder()
47- /// .with_reader(PeriodicReader::builder(exporter.clone() ).build())
48+ /// .with_reader(PeriodicReader::builder(exporter).build())
4849/// .build();
4950///
5051/// // Create and record metrics using the MeterProvider
@@ -54,11 +55,8 @@ type InMemoryMetrics = Vec<ResourceMetrics>;
5455///
5556/// meter_provider.force_flush().unwrap();
5657///
57- /// // Retrieve the finished metrics from the exporter
58- /// let finished_metrics = exporter.get_finished_metrics().unwrap();
59- ///
6058/// // Print the finished metrics
61- /// for resource_metrics in finished_metrics {
59+ /// for resource_metrics in metrics.lock().unwrap().iter() {
6260/// println!("{:?}", resource_metrics);
6361/// }
6462///# }
@@ -87,12 +85,12 @@ impl fmt::Debug for InMemoryMetricExporter {
8785/// # Example
8886///
8987/// ```
90- /// use opentelemetry_sdk::metrics::{InMemoryMetricExporter, InMemoryMetricExporterBuilder};
91- /// use std::sync::{Arc, Mutex};
88+ ///# use opentelemetry_sdk::metrics::{InMemoryMetricExporter, InMemoryMetricExporterBuilder};
89+ ///# use std::sync::{Arc, Mutex};
9290///
9391/// let metrics = Arc::new(Mutex::new(Vec::new()));
9492/// let exporter = InMemoryMetricExporterBuilder::new()
95- /// .with_metrics(metrics.clone()).build();
93+ /// .with_metrics(metrics.clone()).build();
9694/// ```
9795pub struct InMemoryMetricExporterBuilder {
9896 temporality : Option < Temporality > ,
@@ -149,6 +147,7 @@ impl InMemoryMetricExporter {
149147 ///
150148 /// ```
151149 /// use opentelemetry_sdk::metrics::InMemoryMetricExporter;
150+ /// use std::sync::{Arc, Mutex};
152151 ///
153152 /// let metrics = Arc::new(Mutex::new(Vec::new()));
154153 /// let exporter = InMemoryMetricExporter::builder()
0 commit comments