Struct substrate_prometheus_endpoint::Opts [−][src]
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]
S1: Into<String>,
S2: Into<String>,
new
creates the Opts with the name
and help
arguments.
pub fn namespace<S>(self, namespace: S) -> Opts where
S: Into<String>,
[src]
S: Into<String>,
namespace
sets the namespace.
pub fn subsystem<S>(self, subsystem: S) -> Opts where
S: Into<String>,
[src]
S: Into<String>,
subsystem
sets the sub system.
pub fn const_labels(
self,
const_labels: HashMap<String, String, RandomState>
) -> Opts
[src]
self,
const_labels: HashMap<String, String, RandomState>
) -> Opts
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]
S1: Into<String>,
S2: Into<String>,
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]
S: Into<String>,
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]
pub fn from(opts: Opts) -> HistogramOpts
[src]
Auto Trait Implementations
impl RefUnwindSafe for Opts
[src]
impl Send for Opts
[src]
impl Sync for Opts
[src]
impl Unpin for Opts
[src]
impl UnwindSafe for Opts
[src]
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> 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>,