use crate::ExecutorServiceLifecycle;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct ThreadPoolStats {
pub lifecycle: ExecutorServiceLifecycle,
pub core_pool_size: usize,
pub maximum_pool_size: usize,
pub live_workers: usize,
pub idle_workers: usize,
pub queued_tasks: usize,
pub running_tasks: usize,
pub submitted_tasks: usize,
pub completed_tasks: usize,
pub cancelled_tasks: usize,
pub terminated: bool,
}
impl Default for ThreadPoolStats {
fn default() -> Self {
Self {
lifecycle: ExecutorServiceLifecycle::Running,
core_pool_size: 0,
maximum_pool_size: 0,
live_workers: 0,
idle_workers: 0,
queued_tasks: 0,
running_tasks: 0,
submitted_tasks: 0,
completed_tasks: 0,
cancelled_tasks: 0,
terminated: false,
}
}
}