Skip to main content

Registry

Struct Registry 

Source
pub struct Registry { /* private fields */ }
Expand description

A thread-safe registry for storing metrics by name.

Stores one Arc-wrapped instance per unique metric name for each enabled metric type. Repeated lookups for the same name return the same Arc (pointer equality holds). Only metric types enabled via Cargo features are compiled in; attempting to call a method for a disabled type will result in a compile-time error.

Cache-line aligned to prevent false sharing in concurrent environments.

Implementations§

Source§

impl Registry

Source

pub fn new() -> Self

Create a new empty registry.

Source

pub fn get_or_create_counter(&self, name: &str) -> Arc<Counter>

Get or create a counter by name.

Requires the count feature.

Source

pub fn get_or_create_gauge(&self, name: &str) -> Arc<Gauge>

Get or create a gauge by name.

Requires the gauge feature.

Source

pub fn get_or_create_timer(&self, name: &str) -> Arc<Timer>

Get or create a timer by name.

Requires the timer feature.

Source

pub fn counter_names(&self) -> Vec<String>

Get all registered counter names. Requires the count feature.

Source

pub fn gauge_names(&self) -> Vec<String>

Get all registered gauge names. Requires the gauge feature.

Source

pub fn timer_names(&self) -> Vec<String>

Get all registered timer names. Requires the timer feature.

Source

pub fn metric_count(&self) -> usize

Get total number of registered metrics across all enabled metric types.

Source

pub fn clear(&self)

Clear all metrics from the registry.

Trait Implementations§

Source§

impl Default for Registry

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.