Struct prometheus::Opts [−][src]
pub struct Opts {
pub namespace: String,
pub subsystem: String,
pub name: String,
pub help: String,
pub const_labels: HashMap<String, String>,
pub variable_labels: Vec<String>,
}A struct that bundles the options for creating most Metric types.
Fields
namespace: Stringnamespace, 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: Stringnamespace, 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: Stringnamespace, 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: Stringhelp provides information about this metric. Mandatory!
Metrics with the same fully-qualified name must have the same Help string.
const_labels: HashMap<String, String>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>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]
impl Opts[src]pub fn new<S1: Into<String>, S2: Into<String>>(name: S1, help: S2) -> Opts[src]
new creates the Opts with the name and help arguments.
pub fn namespace<S: Into<String>>(self, namespace: S) -> Self[src]
namespace sets the namespace.
pub fn subsystem<S: Into<String>>(self, subsystem: S) -> Self[src]
subsystem sets the sub system.
pub fn const_labels(self, const_labels: HashMap<String, String>) -> Self[src]
const_labels sets the const labels.
pub fn const_label<S1: Into<String>, S2: Into<String>>(
self,
name: S1,
value: S2
) -> Self[src]
self,
name: S1,
value: S2
) -> Self
const_label adds a const label.
pub fn variable_labels(self, variable_labels: Vec<String>) -> Self[src]
variable_labels sets the variable labels.
pub fn variable_label<S: Into<String>>(self, name: S) -> Self[src]
variable_label adds a variable label.
pub fn fq_name(&self) -> String[src]
fq_name returns the fq_name.
Trait Implementations
impl From<Opts> for HistogramOpts[src]
impl From<Opts> for HistogramOpts[src]