Struct substrate_prometheus_endpoint::Opts [−]
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>, }
Expand description
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
impl Opts
new
creates the Opts with the name
and help
arguments.
namespace
sets the namespace.
subsystem
sets the sub system.
pub fn const_labels(
self,
const_labels: HashMap<String, String, RandomState>
) -> Opts
pub fn const_labels(
self,
const_labels: HashMap<String, String, RandomState>
) -> Opts
const_labels
sets the const labels.
const_label
adds a const label.
pub fn variable_labels(self, variable_labels: Vec<String, Global>) -> Opts
pub fn variable_labels(self, variable_labels: Vec<String, Global>) -> Opts
variable_labels
sets the variable labels.
pub fn variable_label<S>(self, name: S) -> Opts where
S: Into<String>,
pub fn variable_label<S>(self, name: S) -> Opts where
S: Into<String>,
variable_label
adds a variable label.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Opts
impl UnwindSafe for Opts
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more