Struct prometheus::core::Desc [−][src]
The descriptor used by every Prometheus Metric
. It is essentially
the immutable meta-data of a metric. The normal metric implementations
included in this package manage their Desc
under the hood.
Descriptors registered with the same registry have to fulfill certain consistency and uniqueness criteria if they share the same fully-qualified name: They must have the same help string and the same label names (aka label dimensions) in each, constLabels and variableLabels, but they must differ in the values of the constLabels.
Descriptors that share the same fully-qualified names and the same label values of their constLabels are considered equal.
Fields
fq_name: String
fq_name has been built from Namespace, Subsystem, and Name.
help: String
help provides some helpful information about this metric.
const_label_pairs: Vec<LabelPair>
const_label_pairs contains precalculated DTO label pairs based on the constant labels.
variable_labels: Vec<String>
variable_labels contains names of labels for which the metric maintains variable values.
id: u64
id is a hash of the values of the ConstLabels and fqName. This must be unique among all registered descriptors and can therefore be used as an identifier of the descriptor.
dim_hash: u64
dim_hash is a hash of the label names (preset and variable) and the Help string. Each Desc with the same fqName must have the same dimHash.
Implementations
impl Desc
[src]
pub fn new(
fq_name: String,
help: String,
variable_labels: Vec<String>,
const_labels: HashMap<String, String>
) -> Result<Desc>
[src]
fq_name: String,
help: String,
variable_labels: Vec<String>,
const_labels: HashMap<String, String>
) -> Result<Desc>
Initializes a new Desc
. Errors are recorded in the Desc
and will be reported on registration time. variableLabels and constLabels can
be nil if no such labels should be set. fqName and help must not be empty.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Desc
impl Send for Desc
impl Sync for Desc
impl Unpin for Desc
impl UnwindSafe for Desc
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,