Struct opentelemetry::metrics::HistogramBuilder

source ·
#[non_exhaustive]
pub struct HistogramBuilder<'a, T> { pub instrument_provider: &'a dyn InstrumentProvider, pub name: Cow<'static, str>, pub description: Option<Cow<'static, str>>, pub unit: Option<Cow<'static, str>>, pub boundaries: Option<Vec<f64>>, /* private fields */ }
Expand description

Configuration for building a Histogram.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§instrument_provider: &'a dyn InstrumentProvider

Instrument provider is used to create the instrument.

§name: Cow<'static, str>

Name of the Histogram.

§description: Option<Cow<'static, str>>

Description of the Histogram.

§unit: Option<Cow<'static, str>>

Unit of the Histogram.

§boundaries: Option<Vec<f64>>

Bucket boundaries for the histogram.

Implementations§

source§

impl<'a, T> HistogramBuilder<'a, T>

source

pub fn with_description<S: Into<Cow<'static, str>>>( self, description: S, ) -> Self

Set the description for this instrument

source

pub fn with_unit<S: Into<Cow<'static, str>>>(self, unit: S) -> Self

Set the unit for this instrument.

Unit is case sensitive(kb is not the same as kB).

Unit must be:

  • ASCII string
  • No longer than 63 characters
source

pub fn with_boundaries(self, boundaries: Vec<f64>) -> Self

Set the boundaries for this histogram.

Setting boundaries is optional. By default, the boundaries are set to:

[0.0, 5.0, 10.0, 25.0, 50.0, 75.0, 100.0, 250.0, 500.0, 750.0, 1000.0, 2500.0, 5000.0, 7500.0, 10000.0]

source§

impl<'a> HistogramBuilder<'a, Histogram<f64>>

source

pub fn build(self) -> Histogram<f64>

Creates a new instrument.

Validates the instrument configuration and creates a new instrument. In case of invalid configuration, a no-op instrument is returned and an error is logged using internal logging.

source§

impl<'a> HistogramBuilder<'a, Histogram<u64>>

source

pub fn build(self) -> Histogram<u64>

Creates a new instrument.

Validates the instrument configuration and creates a new instrument. In case of invalid configuration, a no-op instrument is returned and an error is logged using internal logging.

Trait Implementations§

source§

impl<T> Debug for HistogramBuilder<'_, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, T> Freeze for HistogramBuilder<'a, T>

§

impl<'a, T> !RefUnwindSafe for HistogramBuilder<'a, T>

§

impl<'a, T> !Send for HistogramBuilder<'a, T>

§

impl<'a, T> !Sync for HistogramBuilder<'a, T>

§

impl<'a, T> Unpin for HistogramBuilder<'a, T>
where T: Unpin,

§

impl<'a, T> !UnwindSafe for HistogramBuilder<'a, T>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FutureExt for T

source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.