pub trait Recorder {
// Required methods
fn describe_counter(
&self,
key: KeyName,
unit: Option<Unit>,
description: &'static str
);
fn describe_gauge(
&self,
key: KeyName,
unit: Option<Unit>,
description: &'static str
);
fn describe_histogram(
&self,
key: KeyName,
unit: Option<Unit>,
description: &'static str
);
fn register_counter(&self, key: &Key) -> Counter;
fn register_gauge(&self, key: &Key) -> Gauge;
fn register_histogram(&self, key: &Key) -> Histogram;
}
Expand description
A trait for registering and recording metrics.
This is the core trait that allows interoperability between exporter implementations and the
macros provided by metrics
.
Required Methods§
sourcefn describe_counter(
&self,
key: KeyName,
unit: Option<Unit>,
description: &'static str
)
fn describe_counter( &self, key: KeyName, unit: Option<Unit>, description: &'static str )
Describes a counter.
Callers may provide the unit or a description of the counter being registered. Whether or not a metric can be reregistered to provide a unit/description, if one was already passed or not, as well as how units/descriptions are used by the underlying recorder, is an implementation detail.
sourcefn describe_gauge(
&self,
key: KeyName,
unit: Option<Unit>,
description: &'static str
)
fn describe_gauge( &self, key: KeyName, unit: Option<Unit>, description: &'static str )
Describes a gauge.
Callers may provide the unit or a description of the gauge being registered. Whether or not a metric can be reregistered to provide a unit/description, if one was already passed or not, as well as how units/descriptions are used by the underlying recorder, is an implementation detail.
sourcefn describe_histogram(
&self,
key: KeyName,
unit: Option<Unit>,
description: &'static str
)
fn describe_histogram( &self, key: KeyName, unit: Option<Unit>, description: &'static str )
Describes a histogram.
Callers may provide the unit or a description of the histogram being registered. Whether or not a metric can be reregistered to provide a unit/description, if one was already passed or not, as well as how units/descriptions are used by the underlying recorder, is an implementation detail.
sourcefn register_counter(&self, key: &Key) -> Counter
fn register_counter(&self, key: &Key) -> Counter
Registers a counter.
sourcefn register_gauge(&self, key: &Key) -> Gauge
fn register_gauge(&self, key: &Key) -> Gauge
Registers a gauge.
sourcefn register_histogram(&self, key: &Key) -> Histogram
fn register_histogram(&self, key: &Key) -> Histogram
Registers a histogram.