penumbra_stake::component::metrics

Trait Recorder

pub trait Recorder {
    // Required methods
    fn describe_counter(
        &self,
        key: KeyName,
        unit: Option<Unit>,
        description: Cow<'static, str>,
    );
    fn describe_gauge(
        &self,
        key: KeyName,
        unit: Option<Unit>,
        description: Cow<'static, str>,
    );
    fn describe_histogram(
        &self,
        key: KeyName,
        unit: Option<Unit>,
        description: Cow<'static, str>,
    );
    fn register_counter(&self, key: &Key, metadata: &Metadata<'_>) -> Counter;
    fn register_gauge(&self, key: &Key, metadata: &Metadata<'_>) -> Gauge;
    fn register_histogram(
        &self,
        key: &Key,
        metadata: &Metadata<'_>,
    ) -> Histogram;
}
Available on crate feature component only.
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§

fn describe_counter( &self, key: KeyName, unit: Option<Unit>, description: Cow<'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.

fn describe_gauge( &self, key: KeyName, unit: Option<Unit>, description: Cow<'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.

fn describe_histogram( &self, key: KeyName, unit: Option<Unit>, description: Cow<'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.

fn register_counter(&self, key: &Key, metadata: &Metadata<'_>) -> Counter

Registers a counter.

fn register_gauge(&self, key: &Key, metadata: &Metadata<'_>) -> Gauge

Registers a gauge.

fn register_histogram(&self, key: &Key, metadata: &Metadata<'_>) -> Histogram

Registers a histogram.

Implementors§