Skip to content

Commit 21e1ba5

Browse files
authored
[Metrics API] Update HistogramBuilder (open-telemetry#2186)
1 parent c3794c0 commit 21e1ba5

File tree

4 files changed

+28
-10
lines changed

4 files changed

+28
-10
lines changed

opentelemetry-sdk/src/metrics/meter.rs

+9-3
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ impl SdkMeter {
277277

278278
fn create_histogram<T>(
279279
&self,
280-
builder: HistogramBuilder<'_, T>,
280+
builder: HistogramBuilder<'_, Histogram<T>>,
281281
resolver: &InstrumentResolver<'_, T>,
282282
) -> Result<Histogram<T>>
283283
where
@@ -407,12 +407,18 @@ impl InstrumentProvider for SdkMeter {
407407
self.create_observable_gauge(builder, &resolver)
408408
}
409409

410-
fn f64_histogram(&self, builder: HistogramBuilder<'_, f64>) -> Result<Histogram<f64>> {
410+
fn f64_histogram(
411+
&self,
412+
builder: HistogramBuilder<'_, Histogram<f64>>,
413+
) -> Result<Histogram<f64>> {
411414
let resolver = InstrumentResolver::new(self, &self.f64_resolver);
412415
self.create_histogram(builder, &resolver)
413416
}
414417

415-
fn u64_histogram(&self, builder: HistogramBuilder<'_, u64>) -> Result<Histogram<u64>> {
418+
fn u64_histogram(
419+
&self,
420+
builder: HistogramBuilder<'_, Histogram<u64>>,
421+
) -> Result<Histogram<u64>> {
416422
let resolver = InstrumentResolver::new(self, &self.u64_resolver);
417423
self.create_histogram(builder, &resolver)
418424
}

opentelemetry/src/metrics/instruments/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ impl<'a, T> HistogramBuilder<'a, T> {
9393
}
9494
}
9595

96-
impl<'a> HistogramBuilder<'a, f64> {
96+
impl<'a> HistogramBuilder<'a, Histogram<f64>> {
9797
/// Validate the instrument configuration and creates a new instrument.
9898
pub fn try_init(self) -> Result<Histogram<f64>> {
9999
self.instrument_provider.f64_histogram(self)
@@ -109,7 +109,7 @@ impl<'a> HistogramBuilder<'a, f64> {
109109
}
110110
}
111111

112-
impl<'a> HistogramBuilder<'a, u64> {
112+
impl<'a> HistogramBuilder<'a, Histogram<u64>> {
113113
/// Validate the instrument configuration and creates a new instrument.
114114
pub fn try_init(self) -> Result<Histogram<u64>> {
115115
self.instrument_provider.u64_histogram(self)

opentelemetry/src/metrics/meter.rs

+9-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use crate::metrics::{
88
};
99
use crate::KeyValue;
1010

11-
use super::{Counter, HistogramBuilder};
11+
use super::{Counter, Histogram, HistogramBuilder};
1212

1313
/// Provides access to named [Meter] instances, for instrumenting an application
1414
/// or crate.
@@ -416,12 +416,18 @@ impl Meter {
416416
}
417417

418418
/// creates an instrument builder for recording a distribution of values.
419-
pub fn f64_histogram(&self, name: impl Into<Cow<'static, str>>) -> HistogramBuilder<'_, f64> {
419+
pub fn f64_histogram(
420+
&self,
421+
name: impl Into<Cow<'static, str>>,
422+
) -> HistogramBuilder<'_, Histogram<f64>> {
420423
HistogramBuilder::new(self, name.into())
421424
}
422425

423426
/// creates an instrument builder for recording a distribution of values.
424-
pub fn u64_histogram(&self, name: impl Into<Cow<'static, str>>) -> HistogramBuilder<'_, u64> {
427+
pub fn u64_histogram(
428+
&self,
429+
name: impl Into<Cow<'static, str>>,
430+
) -> HistogramBuilder<'_, Histogram<u64>> {
425431
HistogramBuilder::new(self, name.into())
426432
}
427433
}

opentelemetry/src/metrics/mod.rs

+8-2
Original file line numberDiff line numberDiff line change
@@ -223,12 +223,18 @@ pub trait InstrumentProvider {
223223
}
224224

225225
/// creates an instrument for recording a distribution of values.
226-
fn f64_histogram(&self, _builder: HistogramBuilder<'_, f64>) -> Result<Histogram<f64>> {
226+
fn f64_histogram(
227+
&self,
228+
_builder: HistogramBuilder<'_, Histogram<f64>>,
229+
) -> Result<Histogram<f64>> {
227230
Ok(Histogram::new(Arc::new(noop::NoopSyncInstrument::new())))
228231
}
229232

230233
/// creates an instrument for recording a distribution of values.
231-
fn u64_histogram(&self, _builder: HistogramBuilder<'_, u64>) -> Result<Histogram<u64>> {
234+
fn u64_histogram(
235+
&self,
236+
_builder: HistogramBuilder<'_, Histogram<u64>>,
237+
) -> Result<Histogram<u64>> {
232238
Ok(Histogram::new(Arc::new(noop::NoopSyncInstrument::new())))
233239
}
234240
}

0 commit comments

Comments
 (0)