1 use super::Handle; 2 3 use crate::runtime::{SchedulerMetrics, WorkerMetrics}; 4 5 impl Handle { num_workers(&self) -> usize6 pub(crate) fn num_workers(&self) -> usize { 7 self.shared.worker_metrics.len() 8 } 9 num_blocking_threads(&self) -> usize10 pub(crate) fn num_blocking_threads(&self) -> usize { 11 self.blocking_spawner.num_threads() 12 } 13 num_idle_blocking_threads(&self) -> usize14 pub(crate) fn num_idle_blocking_threads(&self) -> usize { 15 self.blocking_spawner.num_idle_threads() 16 } 17 active_tasks_count(&self) -> usize18 pub(crate) fn active_tasks_count(&self) -> usize { 19 self.shared.owned.active_tasks_count() 20 } 21 scheduler_metrics(&self) -> &SchedulerMetrics22 pub(crate) fn scheduler_metrics(&self) -> &SchedulerMetrics { 23 &self.shared.scheduler_metrics 24 } 25 worker_metrics(&self, worker: usize) -> &WorkerMetrics26 pub(crate) fn worker_metrics(&self, worker: usize) -> &WorkerMetrics { 27 &self.shared.worker_metrics[worker] 28 } 29 injection_queue_depth(&self) -> usize30 pub(crate) fn injection_queue_depth(&self) -> usize { 31 self.shared.injection_queue_depth() 32 } 33 worker_local_queue_depth(&self, worker: usize) -> usize34 pub(crate) fn worker_local_queue_depth(&self, worker: usize) -> usize { 35 self.shared.worker_local_queue_depth(worker) 36 } 37 blocking_queue_depth(&self) -> usize38 pub(crate) fn blocking_queue_depth(&self) -> usize { 39 self.blocking_spawner.queue_depth() 40 } 41 } 42