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: StringImplementations§
Source§impl<TypeSet, ValueType> MetricFamily<TypeSet, ValueType>
impl<TypeSet, ValueType> MetricFamily<TypeSet, ValueType>
pub fn new( family_name: String, label_names: Vec<String>, family_type: TypeSet, help: String, unit: String, ) -> Self
pub fn get_label_names(&self) -> &[String]
pub fn clone_and_convert_type<T>(&self) -> MetricFamily<TypeSet, T>
Sourcepub fn with_labels<'a, T>(&self, labels: T) -> Result<Self, ParseError>
pub fn with_labels<'a, T>(&self, labels: T) -> Result<Self, ParseError>
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.
pub fn without_label(&self, label_name: &str) -> Result<Self, ParseError>
pub fn into_iter_samples(self) -> impl Iterator<Item = Sample<ValueType>>
pub fn iter_samples(&self) -> impl Iterator<Item = &Sample<ValueType>>
pub fn iter_samples_mut( &mut self, ) -> impl Iterator<Item = &mut Sample<ValueType>>
pub fn with_samples<T>(self, samples: T) -> Result<Self, ParseError>where
T: IntoIterator<Item = Sample<ValueType>>,
pub fn get_sample_matches( &self, sample: &Sample<ValueType>, ) -> Option<&Sample<ValueType>>
pub fn get_sample_matches_mut( &mut self, sample: &Sample<ValueType>, ) -> Option<&mut Sample<ValueType>>
pub fn get_sample_by_label_values( &self, label_values: &[String], ) -> Option<&Sample<ValueType>>
pub fn get_sample_by_label_values_mut( &mut self, label_values: &[String], ) -> Option<&mut Sample<ValueType>>
pub fn get_sample_by_labelset( &self, labelset: &LabelSet<'_>, ) -> Option<&Sample<ValueType>>
pub fn get_sample_by_labelset_mut( &mut self, labelset: &LabelSet<'_>, ) -> Option<&mut Sample<ValueType>>
pub fn set_label( &mut self, label_name: &str, label_value: &str, ) -> Result<(), ParseError>
pub fn add_sample(&mut self, s: Sample<ValueType>) -> Result<(), ParseError>
Trait Implementations§
Auto Trait Implementations§
impl<TypeSet, ValueType> Freeze for MetricFamily<TypeSet, ValueType>
impl<TypeSet, ValueType> RefUnwindSafe for MetricFamily<TypeSet, ValueType>
impl<TypeSet, ValueType> Send for MetricFamily<TypeSet, ValueType>
impl<TypeSet, ValueType> Sync for MetricFamily<TypeSet, ValueType>
impl<TypeSet, ValueType> Unpin for MetricFamily<TypeSet, ValueType>
impl<TypeSet, ValueType> UnsafeUnpin for MetricFamily<TypeSet, ValueType>
impl<TypeSet, ValueType> UnwindSafe for MetricFamily<TypeSet, ValueType>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more