Skip to main content

MetricFamily

Struct MetricFamily 

Source
pub struct MetricFamily<TypeSet, ValueType> {
    pub family_name: String,
    pub family_type: TypeSet,
    pub help: String,
    pub unit: String,
    /* private fields */
}
Expand description

A MetricFamily is a collection of metrics with the same type, name, and label names https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#metricfamily A MetricFamily MAY have zero or more Metrics. A MetricFamily MUST have a name, HELP, TYPE, and UNIT metadata. Every Metric within a MetricFamily MUST have a unique LabelSet.

Fields§

§family_name: String§family_type: TypeSet§help: String§unit: String

Implementations§

Source§

impl<TypeSet, ValueType> MetricFamily<TypeSet, ValueType>
where TypeSet: Clone, ValueType: RenderableMetricValue + Clone,

Source

pub fn new( family_name: String, label_names: Vec<String>, family_type: TypeSet, help: String, unit: String, ) -> Self

Source

pub fn get_label_names(&self) -> &[String]

Source

pub fn clone_and_convert_type<T>(&self) -> MetricFamily<TypeSet, T>
where T: From<ValueType> + RenderableMetricValue + Clone,

Source

pub fn with_labels<'a, T>(&self, labels: T) -> Result<Self, ParseError>
where T: IntoIterator<Item = (&'a str, &'a str)>,

Sets the given labels on every sample in the family, adding any that don’t exist yet in sorted order. Errors if overwriting an existing label would leave two samples with the same label set.

Source

pub fn without_label(&self, label_name: &str) -> Result<Self, ParseError>

Source

pub fn into_iter_samples(self) -> impl Iterator<Item = Sample<ValueType>>

Source

pub fn iter_samples(&self) -> impl Iterator<Item = &Sample<ValueType>>

Source

pub fn iter_samples_mut( &mut self, ) -> impl Iterator<Item = &mut Sample<ValueType>>

Source

pub fn with_samples<T>(self, samples: T) -> Result<Self, ParseError>
where T: IntoIterator<Item = Sample<ValueType>>,

Source

pub fn get_sample_matches( &self, sample: &Sample<ValueType>, ) -> Option<&Sample<ValueType>>

Source

pub fn get_sample_matches_mut( &mut self, sample: &Sample<ValueType>, ) -> Option<&mut Sample<ValueType>>

Source

pub fn get_sample_by_label_values( &self, label_values: &[String], ) -> Option<&Sample<ValueType>>

Source

pub fn get_sample_by_label_values_mut( &mut self, label_values: &[String], ) -> Option<&mut Sample<ValueType>>

Source

pub fn get_sample_by_labelset( &self, labelset: &LabelSet<'_>, ) -> Option<&Sample<ValueType>>

Source

pub fn get_sample_by_labelset_mut( &mut self, labelset: &LabelSet<'_>, ) -> Option<&mut Sample<ValueType>>

Source

pub fn set_label( &mut self, label_name: &str, label_value: &str, ) -> Result<(), ParseError>

Source

pub fn add_sample(&mut self, s: Sample<ValueType>) -> Result<(), ParseError>

Trait Implementations§

Source§

impl<TypeSet: Debug, ValueType: Debug> Debug for MetricFamily<TypeSet, ValueType>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<TypeSet, ValueType> Display for MetricFamily<TypeSet, ValueType>
where TypeSet: Display + Default + PartialEq, ValueType: RenderableMetricValue + Clone,

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<TypeSet, ValueType> Freeze for MetricFamily<TypeSet, ValueType>
where TypeSet: Freeze, Vec<Sample<ValueType>>: Freeze,

§

impl<TypeSet, ValueType> RefUnwindSafe for MetricFamily<TypeSet, ValueType>
where TypeSet: RefUnwindSafe, Vec<Sample<ValueType>>: RefUnwindSafe,

§

impl<TypeSet, ValueType> Send for MetricFamily<TypeSet, ValueType>
where TypeSet: Send, Vec<Sample<ValueType>>: Send,

§

impl<TypeSet, ValueType> Sync for MetricFamily<TypeSet, ValueType>
where TypeSet: Sync, Vec<Sample<ValueType>>: Sync,

§

impl<TypeSet, ValueType> Unpin for MetricFamily<TypeSet, ValueType>
where TypeSet: Unpin, Vec<Sample<ValueType>>: Unpin,

§

impl<TypeSet, ValueType> UnsafeUnpin for MetricFamily<TypeSet, ValueType>
where TypeSet: UnsafeUnpin, Vec<Sample<ValueType>>: UnsafeUnpin,

§

impl<TypeSet, ValueType> UnwindSafe for MetricFamily<TypeSet, ValueType>
where TypeSet: UnwindSafe, Vec<Sample<ValueType>>: UnwindSafe,

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, 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.