pub struct MonitorSpec {
pub selectors: Vec<String>,
pub liveliness: Vec<String>,
pub stats_tick: Duration,
pub capacity: usize,
pub max_keys: usize,
}Expand description
What to watch.
Fields§
§selectors: Vec<String>Full wire selectors to subscribe to.
liveliness: Vec<String>Also watch these liveliness selectors (with history: current tokens arrive on join — no separate seed GET).
A list, not a single selector, because one selector cannot express the
roster: * in the origin position never matches a verbatim service
origin (RFC 03 §4 D4), so the fleet sweep
<base>/v1/*/state/*/alive and <base>/v1/@catalog/state/alive are
necessarily two entries. A dashboard that watches only the first
renders “catalog dead” and “no entities” identically — the false
verdict RFC 05 §3.1 forbids.
stats_tick: DurationSnapshot cadence.
capacity: usizeBroadcast capacity: bound it to what an echo pane can drain; lag is surfaced, never hidden.
max_keys: usizeHow many distinct keys to keep statistics for. Least-recently-seen keys
are dropped past this, and the drops are counted
(MonitorCore::keys_evicted) — a long-running observer is bounded,
and says so (RFC 09 §5.1).
Trait Implementations§
Source§impl Clone for MonitorSpec
impl Clone for MonitorSpec
Source§fn clone(&self) -> MonitorSpec
fn clone(&self) -> MonitorSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MonitorSpec
impl Debug for MonitorSpec
Auto Trait Implementations§
impl Freeze for MonitorSpec
impl RefUnwindSafe for MonitorSpec
impl Send for MonitorSpec
impl Sync for MonitorSpec
impl Unpin for MonitorSpec
impl UnsafeUnpin for MonitorSpec
impl UnwindSafe for MonitorSpec
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
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<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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more