metrics_prometheus/storage/mod.rs
1//! [`metrics::registry::Storage`] implementations.
2//!
3//! [`metrics::registry::Storage`]: metrics_util::registry::Storage
4
5pub mod immutable;
6pub mod mutable;
7
8use sealed::sealed;
9
10#[doc(inline)]
11pub use self::{immutable::Storage as Immutable, mutable::Storage as Mutable};
12
13/// Name identifying a [`metric::Bundle`] stored in a storage.
14///
15/// [`metric::Bundle`]: crate::metric::Bundle
16pub type KeyName = String;
17
18/// Retrieving a `Collection` of [`metric::Bundle`]s from a storage.
19///
20/// [`metric::Bundle`]: crate::metric::Bundle
21#[sealed]
22pub trait Get<Collection> {
23 /// Returns a `Collection` of [`metric::Bundle`]s stored in this storage.
24 ///
25 /// [`metric::Bundle`]: crate::metric::Bundle
26 #[must_use]
27 fn collection(&self) -> &Collection;
28}