use super::task_status::TaskStatus;
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
pub struct TaskExecutionStats {
pub total: usize,
pub submitted: usize,
pub running: usize,
pub succeeded: usize,
pub failed: usize,
pub panicked: usize,
pub cancelled: usize,
}
impl TaskExecutionStats {
pub(crate) fn add_status(&mut self, status: TaskStatus) {
self.total += 1;
match status {
TaskStatus::Submitted => self.submitted += 1,
TaskStatus::Running => self.running += 1,
TaskStatus::Succeeded => self.succeeded += 1,
TaskStatus::Failed => self.failed += 1,
TaskStatus::Panicked => self.panicked += 1,
TaskStatus::Cancelled => self.cancelled += 1,
}
}
}