Struct substrate_prometheus_endpoint::Opts[][src]

pub struct Opts {
    pub namespace: String,
    pub subsystem: String,
    pub name: String,
    pub help: String,
    pub const_labels: HashMap<String, String, RandomState>,
    pub variable_labels: Vec<String, Global>,
}

A struct that bundles the options for creating most Metric types.

Fields

namespace: String

namespace, subsystem, and name are components of the fully-qualified name of the Metric (created by joining these components with "_"). Only Name is mandatory, the others merely help structuring the name. Note that the fully-qualified name of the metric must be a valid Prometheus metric name.

subsystem: String

namespace, subsystem, and name are components of the fully-qualified name of the Metric (created by joining these components with "_"). Only Name is mandatory, the others merely help structuring the name. Note that the fully-qualified name of the metric must be a valid Prometheus metric name.

name: String

namespace, subsystem, and name are components of the fully-qualified name of the Metric (created by joining these components with "_"). Only Name is mandatory, the others merely help structuring the name. Note that the fully-qualified name of the metric must be a valid Prometheus metric name.

help: String

help provides information about this metric. Mandatory!

Metrics with the same fully-qualified name must have the same Help string.

const_labels: HashMap<String, String, RandomState>

const_labels are used to attach fixed labels to this metric. Metrics with the same fully-qualified name must have the same label names in their ConstLabels.

Note that in most cases, labels have a value that varies during the lifetime of a process. Those labels are usually managed with a metric vector collector (like CounterVec, GaugeVec). ConstLabels serve only special purposes. One is for the special case where the value of a label does not change during the lifetime of a process, e.g. if the revision of the running binary is put into a label. Another, more advanced purpose is if more than one Collector needs to collect Metrics with the same fully-qualified name. In that case, those Metrics must differ in the values of their ConstLabels. See the Collector examples.

If the value of a label never changes (not even between binaries), that label most likely should not be a label at all (but part of the metric name).

variable_labels: Vec<String, Global>

variable_labels contains names of labels for which the metric maintains variable values. Metrics with the same fully-qualified name must have the same label names in their variable_labels.

Note that variable_labels is used in MetricVec. To create a single metric must leave it empty.

Implementations

impl Opts[src]

pub fn new<S1, S2>(name: S1, help: S2) -> Opts where
    S1: Into<String>,
    S2: Into<String>, 
[src]

new creates the Opts with the name and help arguments.

pub fn namespace<S>(self, namespace: S) -> Opts where
    S: Into<String>, 
[src]

namespace sets the namespace.

pub fn subsystem<S>(self, subsystem: S) -> Opts where
    S: Into<String>, 
[src]

subsystem sets the sub system.

pub fn const_labels(
    self,
    const_labels: HashMap<String, String, RandomState>
) -> Opts
[src]

const_labels sets the const labels.

pub fn const_label<S1, S2>(self, name: S1, value: S2) -> Opts where
    S1: Into<String>,
    S2: Into<String>, 
[src]

const_label adds a const label.

pub fn variable_labels(self, variable_labels: Vec<String, Global>) -> Opts[src]

variable_labels sets the variable labels.

pub fn variable_label<S>(self, name: S) -> Opts where
    S: Into<String>, 
[src]

variable_label adds a variable label.

pub fn fq_name(&self) -> String[src]

fq_name returns the fq_name.

Trait Implementations

impl Clone for Opts[src]

impl Debug for Opts[src]

impl Describer for Opts[src]

impl From<Opts> for HistogramOpts[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.