pub struct ProcDebugStats {
pub memory: ProcessMemoryStats,
pub actor_work_queue_depth_total: u64,
pub actor_work_queue_depth_max: u64,
pub actor_work_queue_depth_high_water_mark: u64,
pub last_nonzero_queue_depth_age_ms: Option<u64>,
}Expand description
Proc-level debug/operational stats. Groups hosting-process memory (process-scoped) and actor queue pressure (proc-scoped) into one operational summary.
This asymmetry is intentional: memory belongs to the hosting OS process, while queue pressure is aggregated over live actors in this Monarch proc only.
Queue depth is an instantaneous snapshot at publish time, not a historical watermark or backlog accumulator. It reflects currently queued work that has not yet been received by the actor’s run loop. Transient bursts that drain between publishes will not be observed.
Fields§
§memory: ProcessMemoryStatsHosting-process memory (shared type with host surface).
actor_work_queue_depth_total: u64Sum of per-actor message queue depths across live actors in this proc (PD-4: live actors only).
actor_work_queue_depth_max: u64Maximum current per-actor message queue depth across live actors in this proc at publish time. Not a historical high-water mark.
actor_work_queue_depth_high_water_mark: u64Maximum proc-wide queue depth observed since startup (PD-6). Eventually consistent — see PD-6 docs. Retained — driven from the runtime accounting path.
last_nonzero_queue_depth_age_ms: Option<u64>How long ago proc-wide queue depth was last observed non-zero
(PD-7). None means never. Wall clock — see PD-9 docs.
Retained — driven from the runtime accounting path.
Implementations§
Trait Implementations§
Source§impl Clone for ProcDebugStats
impl Clone for ProcDebugStats
Source§fn clone(&self) -> ProcDebugStats
fn clone(&self) -> ProcDebugStats
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProcDebugStats
impl Debug for ProcDebugStats
Source§impl Default for ProcDebugStats
impl Default for ProcDebugStats
Source§fn default() -> ProcDebugStats
fn default() -> ProcDebugStats
Source§impl<'de> Deserialize<'de> for ProcDebugStats
impl<'de> Deserialize<'de> for ProcDebugStats
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Named for ProcDebugStats
impl Named for ProcDebugStats
Source§fn typename() -> &'static str
fn typename() -> &'static str
Source§fn typehash() -> u64
fn typehash() -> u64
Source§fn typeid() -> TypeId
fn typeid() -> TypeId
Source§fn port() -> u64
fn port() -> u64
Source§impl PartialEq for ProcDebugStats
impl PartialEq for ProcDebugStats
Source§impl Serialize for ProcDebugStats
impl Serialize for ProcDebugStats
impl Copy for ProcDebugStats
impl Eq for ProcDebugStats
impl StructuralPartialEq for ProcDebugStats
Auto Trait Implementations§
impl Freeze for ProcDebugStats
impl RefUnwindSafe for ProcDebugStats
impl Send for ProcDebugStats
impl Sync for ProcDebugStats
impl Unpin for ProcDebugStats
impl UnsafeUnpin for ProcDebugStats
impl UnwindSafe for ProcDebugStats
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<A, M> Handler<IndexedErasedUnbound<M>> for A
impl<A, M> Handler<IndexedErasedUnbound<M>> for A
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].