pub struct TaskSchedulerHealthSnapshot {Show 15 fields
pub max_active: usize,
pub active: usize,
pub pending: usize,
pub active_by_priority: TaskPriorityCounts,
pub pending_by_priority: TaskPriorityCounts,
pub admitted: u64,
pub released: u64,
pub cancelled: u64,
pub rejected: u64,
pub aging_promotions: u64,
pub peak_active: usize,
pub total_wait_micros: u64,
pub average_wait_micros: u64,
pub max_wait_micros: u64,
pub closed: bool,
}Expand description
Bounded cumulative admission and fairness diagnostics for one scheduler.
The counters are owned by the scheduler actor and never retain task labels, execution identities, or queue entries. They therefore remain safe to expose to a host while still making starvation and lifecycle leaks measurable. Occupancy fields are sampled at the same actor turn as the cumulative counters.
Fields§
§max_active: usizeConfigured global capacity.
active: usizeNumber of global scheduler slots currently held. Quota-only leaf reservations are visible through their quota snapshots but do not consume this global occupancy counter.
pending: usizeNumber of requests waiting for a lease.
active_by_priority: TaskPriorityCountsCurrent occupancy grouped by base priority.
pending_by_priority: TaskPriorityCountsCurrent pending work grouped by base priority.
admitted: u64Number of requests that acquired a lease since scheduler creation.
released: u64Number of admitted leases whose ownership was released.
cancelled: u64Number of admission requests cancelled before normal release, including queued requests and active leases cancelled by their caller.
rejected: u64Number of requests rejected because the scheduler was closing.
aging_promotions: u64Number of queued requests promoted by the aging policy.
peak_active: usizeHighest number of simultaneously active leases observed.
total_wait_micros: u64Sum of admission wait time in microseconds, saturating at u64::MAX.
This is useful for host-side rate calculations without retaining a
latency histogram in the execution kernel.
average_wait_micros: u64Mean admission wait time in microseconds (total / admitted).
max_wait_micros: u64Longest observed admission wait in microseconds.
closed: boolWhether the scheduler is draining or has finished shutdown.
Trait Implementations§
Source§impl Clone for TaskSchedulerHealthSnapshot
impl Clone for TaskSchedulerHealthSnapshot
Source§fn clone(&self) -> TaskSchedulerHealthSnapshot
fn clone(&self) -> TaskSchedulerHealthSnapshot
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 TaskSchedulerHealthSnapshot
impl Debug for TaskSchedulerHealthSnapshot
Source§impl<'de> Deserialize<'de> for TaskSchedulerHealthSnapshot
impl<'de> Deserialize<'de> for TaskSchedulerHealthSnapshot
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>,
impl Eq for TaskSchedulerHealthSnapshot
impl StructuralPartialEq for TaskSchedulerHealthSnapshot
Auto Trait Implementations§
impl Freeze for TaskSchedulerHealthSnapshot
impl RefUnwindSafe for TaskSchedulerHealthSnapshot
impl Send for TaskSchedulerHealthSnapshot
impl Sync for TaskSchedulerHealthSnapshot
impl Unpin for TaskSchedulerHealthSnapshot
impl UnsafeUnpin for TaskSchedulerHealthSnapshot
impl UnwindSafe for TaskSchedulerHealthSnapshot
Blanket Implementations§
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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