Skip to content

Commit bd55114

Browse files
committed
refactor: update metrics Result to be MetricResult
this is consistent with LogResult and TraceResult
1 parent 4c7bf58 commit bd55114

File tree

19 files changed

+89
-86
lines changed

19 files changed

+89
-86
lines changed

opentelemetry-otlp/src/exporter/http/metrics.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::sync::Arc;
22

33
use async_trait::async_trait;
44
use http::{header::CONTENT_TYPE, Method};
5-
use opentelemetry::metrics::{MetricsError, Result};
5+
use opentelemetry::metrics::{MetricResult, MetricsError};
66
use opentelemetry_sdk::metrics::data::ResourceMetrics;
77

88
use crate::{metric::MetricsClient, Error};
@@ -11,7 +11,7 @@ use super::OtlpHttpClient;
1111

1212
#[async_trait]
1313
impl MetricsClient for OtlpHttpClient {
14-
async fn export(&self, metrics: &mut ResourceMetrics) -> Result<()> {
14+
async fn export(&self, metrics: &mut ResourceMetrics) -> MetricResult<()> {
1515
let client = self
1616
.client
1717
.lock()
@@ -41,7 +41,7 @@ impl MetricsClient for OtlpHttpClient {
4141
Ok(())
4242
}
4343

44-
fn shutdown(&self) -> Result<()> {
44+
fn shutdown(&self) -> MetricResult<()> {
4545
let _ = self.client.lock()?.take();
4646

4747
Ok(())

opentelemetry-otlp/src/exporter/http/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ impl HttpExporterBuilder {
221221
pub fn build_metrics_exporter(
222222
mut self,
223223
temporality: opentelemetry_sdk::metrics::data::Temporality,
224-
) -> opentelemetry::metrics::Result<crate::MetricsExporter> {
224+
) -> opentelemetry::metrics::MetricResult<crate::MetricsExporter> {
225225
use crate::{
226226
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT, OTEL_EXPORTER_OTLP_METRICS_HEADERS,
227227
OTEL_EXPORTER_OTLP_METRICS_TIMEOUT,
@@ -311,7 +311,7 @@ impl OtlpHttpClient {
311311
fn build_metrics_export_body(
312312
&self,
313313
metrics: &mut opentelemetry_sdk::metrics::data::ResourceMetrics,
314-
) -> opentelemetry::metrics::Result<(Vec<u8>, &'static str)> {
314+
) -> opentelemetry::metrics::MetricResult<(Vec<u8>, &'static str)> {
315315
use opentelemetry_proto::tonic::collector::metrics::v1::ExportMetricsServiceRequest;
316316

317317
let req: ExportMetricsServiceRequest = (&*metrics).into();

opentelemetry-otlp/src/exporter/tonic/metrics.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use core::fmt;
22
use std::sync::Mutex;
33

44
use async_trait::async_trait;
5-
use opentelemetry::metrics::{MetricsError, Result};
5+
use opentelemetry::metrics::{MetricResult, MetricsError};
66
use opentelemetry_proto::tonic::collector::metrics::v1::{
77
metrics_service_client::MetricsServiceClient, ExportMetricsServiceRequest,
88
};
@@ -51,7 +51,7 @@ impl TonicMetricsClient {
5151

5252
#[async_trait]
5353
impl MetricsClient for TonicMetricsClient {
54-
async fn export(&self, metrics: &mut ResourceMetrics) -> Result<()> {
54+
async fn export(&self, metrics: &mut ResourceMetrics) -> MetricResult<()> {
5555
let (mut client, metadata, extensions) =
5656
self.inner
5757
.lock()
@@ -84,7 +84,7 @@ impl MetricsClient for TonicMetricsClient {
8484
Ok(())
8585
}
8686

87-
fn shutdown(&self) -> Result<()> {
87+
fn shutdown(&self) -> MetricResult<()> {
8888
let _ = self.inner.lock()?.take();
8989

9090
Ok(())

opentelemetry-otlp/src/exporter/tonic/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ impl TonicExporterBuilder {
274274
pub(crate) fn build_metrics_exporter(
275275
self,
276276
temporality: opentelemetry_sdk::metrics::data::Temporality,
277-
) -> opentelemetry::metrics::Result<crate::MetricsExporter> {
277+
) -> opentelemetry::metrics::MetricResult<crate::MetricsExporter> {
278278
use crate::MetricsExporter;
279279
use metrics::TonicMetricsClient;
280280

opentelemetry-otlp/src/metric.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use crate::NoExporterBuilderSet;
1616

1717
use async_trait::async_trait;
1818
use core::fmt;
19-
use opentelemetry::metrics::Result;
19+
use opentelemetry::metrics::MetricResult;
2020

2121
use opentelemetry_sdk::metrics::{
2222
data::{ResourceMetrics, Temporality},
@@ -77,15 +77,15 @@ impl<C> MetricsExporterBuilder<C> {
7777

7878
#[cfg(feature = "grpc-tonic")]
7979
impl MetricsExporterBuilder<TonicExporterBuilderSet> {
80-
pub fn build(self) -> Result<MetricsExporter> {
80+
pub fn build(self) -> MetricResult<MetricsExporter> {
8181
let exporter = self.client.0.build_metrics_exporter(self.temporality)?;
8282
Ok(exporter)
8383
}
8484
}
8585

8686
#[cfg(any(feature = "http-proto", feature = "http-json"))]
8787
impl MetricsExporterBuilder<HttpExporterBuilderSet> {
88-
pub fn build(self) -> Result<MetricsExporter> {
88+
pub fn build(self) -> MetricResult<MetricsExporter> {
8989
let exporter = self.client.0.build_metrics_exporter(self.temporality)?;
9090
Ok(exporter)
9191
}
@@ -122,8 +122,8 @@ impl HasHttpConfig for MetricsExporterBuilder<HttpExporterBuilderSet> {
122122
/// An interface for OTLP metrics clients
123123
#[async_trait]
124124
pub trait MetricsClient: fmt::Debug + Send + Sync + 'static {
125-
async fn export(&self, metrics: &mut ResourceMetrics) -> Result<()>;
126-
fn shutdown(&self) -> Result<()>;
125+
async fn export(&self, metrics: &mut ResourceMetrics) -> MetricResult<()>;
126+
fn shutdown(&self) -> MetricResult<()>;
127127
}
128128

129129
/// Export metrics in OTEL format.
@@ -140,16 +140,16 @@ impl Debug for MetricsExporter {
140140

141141
#[async_trait]
142142
impl PushMetricsExporter for MetricsExporter {
143-
async fn export(&self, metrics: &mut ResourceMetrics) -> Result<()> {
143+
async fn export(&self, metrics: &mut ResourceMetrics) -> MetricResult<()> {
144144
self.client.export(metrics).await
145145
}
146146

147-
async fn force_flush(&self) -> Result<()> {
147+
async fn force_flush(&self) -> MetricResult<()> {
148148
// this component is stateless
149149
Ok(())
150150
}
151151

152-
fn shutdown(&self) -> Result<()> {
152+
fn shutdown(&self) -> MetricResult<()> {
153153
self.client.shutdown()
154154
}
155155

opentelemetry-sdk/benches/metric.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::sync::{Arc, Weak};
33

44
use criterion::{criterion_group, criterion_main, Bencher, Criterion};
55
use opentelemetry::{
6-
metrics::{Counter, Histogram, MeterProvider as _, Result},
6+
metrics::{Counter, Histogram, MeterProvider as _, MetricResult},
77
Key, KeyValue,
88
};
99
use opentelemetry_sdk::{
@@ -25,15 +25,15 @@ impl MetricReader for SharedReader {
2525
self.0.register_pipeline(pipeline)
2626
}
2727

28-
fn collect(&self, rm: &mut ResourceMetrics) -> Result<()> {
28+
fn collect(&self, rm: &mut ResourceMetrics) -> MetricResult<()> {
2929
self.0.collect(rm)
3030
}
3131

32-
fn force_flush(&self) -> Result<()> {
32+
fn force_flush(&self) -> MetricResult<()> {
3333
self.0.force_flush()
3434
}
3535

36-
fn shutdown(&self) -> Result<()> {
36+
fn shutdown(&self) -> MetricResult<()> {
3737
self.0.shutdown()
3838
}
3939

opentelemetry-sdk/src/metrics/aggregation.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::fmt;
22

33
use crate::metrics::internal::{EXPO_MAX_SCALE, EXPO_MIN_SCALE};
4-
use opentelemetry::metrics::{MetricsError, Result};
4+
use opentelemetry::metrics::{MetricResult, MetricsError};
55

66
/// The way recorded measurements are summarized.
77
#[derive(Clone, Debug, PartialEq)]
@@ -109,7 +109,7 @@ impl fmt::Display for Aggregation {
109109

110110
impl Aggregation {
111111
/// Validate that this aggregation has correct configuration
112-
pub fn validate(&self) -> Result<()> {
112+
pub fn validate(&self) -> MetricResult<()> {
113113
match self {
114114
Aggregation::Drop => Ok(()),
115115
Aggregation::Default => Ok(()),
@@ -153,16 +153,16 @@ mod tests {
153153
internal::{EXPO_MAX_SCALE, EXPO_MIN_SCALE},
154154
Aggregation,
155155
};
156-
use opentelemetry::metrics::{MetricsError, Result};
156+
use opentelemetry::metrics::{MetricResult, MetricsError};
157157

158158
#[test]
159159
fn validate_aggregation() {
160160
struct TestCase {
161161
name: &'static str,
162162
input: Aggregation,
163-
check: Box<dyn Fn(Result<()>) -> bool>,
163+
check: Box<dyn Fn(MetricResult<()>) -> bool>,
164164
}
165-
let ok = Box::new(|result: Result<()>| result.is_ok());
165+
let ok = Box::new(|result: MetricResult<()>| result.is_ok());
166166
let config_error = Box::new(|result| matches!(result, Err(MetricsError::Config(_))));
167167

168168
let test_cases: Vec<TestCase> = vec![

opentelemetry-sdk/src/metrics/exporter.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//! Interfaces for exporting metrics
22
use async_trait::async_trait;
33

4-
use opentelemetry::metrics::Result;
4+
use opentelemetry::metrics::MetricResult;
55

66
use crate::metrics::data::ResourceMetrics;
77

@@ -18,16 +18,16 @@ pub trait PushMetricsExporter: Send + Sync + 'static {
1818
/// implement any retry logic. All errors returned by this function are
1919
/// considered unrecoverable and will be reported to a configured error
2020
/// Handler.
21-
async fn export(&self, metrics: &mut ResourceMetrics) -> Result<()>;
21+
async fn export(&self, metrics: &mut ResourceMetrics) -> MetricResult<()>;
2222

2323
/// Flushes any metric data held by an exporter.
24-
async fn force_flush(&self) -> Result<()>;
24+
async fn force_flush(&self) -> MetricResult<()>;
2525

2626
/// Releases any held computational resources.
2727
///
2828
/// After Shutdown is called, calls to Export will perform no operation and
2929
/// instead will return an error indicating the shutdown state.
30-
fn shutdown(&self) -> Result<()>;
30+
fn shutdown(&self) -> MetricResult<()>;
3131

3232
/// Access the [Temporality] of the MetricsExporter.
3333
fn temporality(&self) -> Temporality;

opentelemetry-sdk/src/metrics/manual_reader.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use std::{
44
};
55

66
use opentelemetry::{
7-
metrics::{MetricsError, Result},
7+
metrics::{MetricResult, MetricsError},
88
otel_debug,
99
};
1010

@@ -88,7 +88,7 @@ impl MetricReader for ManualReader {
8888
/// callbacks necessary and returning the results.
8989
///
9090
/// Returns an error if called after shutdown.
91-
fn collect(&self, rm: &mut ResourceMetrics) -> Result<()> {
91+
fn collect(&self, rm: &mut ResourceMetrics) -> MetricResult<()> {
9292
let inner = self.inner.lock()?;
9393
match &inner.sdk_producer.as_ref().and_then(|w| w.upgrade()) {
9494
Some(producer) => producer.produce(rm)?,
@@ -103,12 +103,12 @@ impl MetricReader for ManualReader {
103103
}
104104

105105
/// ForceFlush is a no-op, it always returns nil.
106-
fn force_flush(&self) -> Result<()> {
106+
fn force_flush(&self) -> MetricResult<()> {
107107
Ok(())
108108
}
109109

110110
/// Closes any connections and frees any resources used by the reader.
111-
fn shutdown(&self) -> Result<()> {
111+
fn shutdown(&self) -> MetricResult<()> {
112112
let mut inner = self.inner.lock()?;
113113

114114
// Any future call to collect will now return an error.

opentelemetry-sdk/src/metrics/meter.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ use opentelemetry::{
55
global,
66
metrics::{
77
AsyncInstrumentBuilder, Counter, Gauge, Histogram, HistogramBuilder, InstrumentBuilder,
8-
InstrumentProvider, MetricsError, ObservableCounter, ObservableGauge,
9-
ObservableUpDownCounter, Result, UpDownCounter,
8+
InstrumentProvider, MetricResult, MetricsError, ObservableCounter, ObservableGauge,
9+
ObservableUpDownCounter, UpDownCounter,
1010
},
1111
otel_error, InstrumentationScope,
1212
};
@@ -493,11 +493,11 @@ impl InstrumentProvider for SdkMeter {
493493
}
494494
}
495495

496-
fn validate_instrument_config(name: &str, unit: &Option<Cow<'static, str>>) -> Result<()> {
496+
fn validate_instrument_config(name: &str, unit: &Option<Cow<'static, str>>) -> MetricResult<()> {
497497
validate_instrument_name(name).and_then(|_| validate_instrument_unit(unit))
498498
}
499499

500-
fn validate_instrument_name(name: &str) -> Result<()> {
500+
fn validate_instrument_name(name: &str) -> MetricResult<()> {
501501
if name.is_empty() {
502502
return Err(MetricsError::InvalidInstrumentConfiguration(
503503
INSTRUMENT_NAME_EMPTY,
@@ -523,7 +523,7 @@ fn validate_instrument_name(name: &str) -> Result<()> {
523523
Ok(())
524524
}
525525

526-
fn validate_instrument_unit(unit: &Option<Cow<'static, str>>) -> Result<()> {
526+
fn validate_instrument_unit(unit: &Option<Cow<'static, str>>) -> MetricResult<()> {
527527
if let Some(unit) = unit {
528528
if unit.len() > INSTRUMENT_UNIT_NAME_MAX_LENGTH {
529529
return Err(MetricsError::InvalidInstrumentConfiguration(
@@ -567,7 +567,7 @@ where
567567
description: Option<Cow<'static, str>>,
568568
unit: Option<Cow<'static, str>>,
569569
boundaries: Option<Vec<f64>>,
570-
) -> Result<ResolvedMeasures<T>> {
570+
) -> MetricResult<ResolvedMeasures<T>> {
571571
let aggregators = self.measures(kind, name, description, unit, boundaries)?;
572572
Ok(ResolvedMeasures {
573573
measures: aggregators,
@@ -581,7 +581,7 @@ where
581581
description: Option<Cow<'static, str>>,
582582
unit: Option<Cow<'static, str>>,
583583
boundaries: Option<Vec<f64>>,
584-
) -> Result<Vec<Arc<dyn internal::Measure<T>>>> {
584+
) -> MetricResult<Vec<Arc<dyn internal::Measure<T>>>> {
585585
let inst = Instrument {
586586
name,
587587
description: description.unwrap_or_default(),

opentelemetry-sdk/src/metrics/meter_provider.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use std::{
88
};
99

1010
use opentelemetry::{
11-
metrics::{Meter, MeterProvider, MetricsError, Result},
11+
metrics::{Meter, MeterProvider, MetricResult, MetricsError},
1212
otel_debug, otel_error, InstrumentationScope,
1313
};
1414

@@ -91,7 +91,7 @@ impl SdkMeterProvider {
9191
/// Ok(())
9292
/// }
9393
/// ```
94-
pub fn force_flush(&self) -> Result<()> {
94+
pub fn force_flush(&self) -> MetricResult<()> {
9595
self.inner.force_flush()
9696
}
9797

@@ -107,17 +107,17 @@ impl SdkMeterProvider {
107107
///
108108
/// There is no guaranteed that all telemetry be flushed or all resources have
109109
/// been released on error.
110-
pub fn shutdown(&self) -> Result<()> {
110+
pub fn shutdown(&self) -> MetricResult<()> {
111111
self.inner.shutdown()
112112
}
113113
}
114114

115115
impl SdkMeterProviderInner {
116-
fn force_flush(&self) -> Result<()> {
116+
fn force_flush(&self) -> MetricResult<()> {
117117
self.pipes.force_flush()
118118
}
119119

120-
fn shutdown(&self) -> Result<()> {
120+
fn shutdown(&self) -> MetricResult<()> {
121121
if self
122122
.is_shutdown
123123
.compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst)

0 commit comments

Comments
 (0)