#[derive(Debug, Clone)]
pub struct TaskMetrics {
pub pending: usize,
pub running: usize,
pub completed: usize,
pub failed: usize,
pub cancelled: usize,
pub total: usize,
}
impl TaskMetrics {
pub fn success_rate(&self) -> f64 {
if self.total == 0 {
return 0.0;
}
self.completed as f64 / (self.completed + self.failed) as f64
}
}