pub struct LoopMetrics { /* private fields */ }Expand description
Standardized per-loop observations.
Implementations§
Source§impl LoopMetrics
impl LoopMetrics
Sourcepub fn new(name: &'static str) -> Arc<Self> ⓘ
pub fn new(name: &'static str) -> Arc<Self> ⓘ
Construct a metrics handle for a loop named name (e.g.
"rebalancer_loop"). The name appears as the prefix of every
emitted metric; use snake_case and include the _loop
suffix to match the vocabularies.
pub fn name(&self) -> &'static str
Sourcepub fn observe(&self, duration: Duration)
pub fn observe(&self, duration: Duration)
Record a completed tick. Increments iterations_total and
stores the duration for the last_iteration_duration_seconds
gauge. Call regardless of success/failure — errors are tracked
separately via record_error.
Sourcepub fn record_error(&self, kind: &'static str)
pub fn record_error(&self, kind: &'static str)
Increment the counter for an error kind. kind must be a short
bounded label — never a formatted error string.
Sourcepub fn set_up(&self, up: bool)
pub fn set_up(&self, up: bool)
Mark the loop up (driver task is running) or down (driver exited or not yet spawned).
pub fn iterations_total(&self) -> u64
pub fn last_iteration_duration(&self) -> Duration
pub fn is_up(&self) -> bool
pub fn errors_snapshot(&self) -> BTreeMap<&'static str, u64>
Sourcepub fn render_prom(&self, out: &mut String)
pub fn render_prom(&self, out: &mut String)
Append Prometheus-format exposition for this loop to out.
Emits HELP/TYPE headers plus one sample per metric.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for LoopMetrics
impl RefUnwindSafe for LoopMetrics
impl Send for LoopMetrics
impl Sync for LoopMetrics
impl Unpin for LoopMetrics
impl UnsafeUnpin for LoopMetrics
impl UnwindSafe for LoopMetrics
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.