swarm_engine_core/telemetry/
event.rs1use crate::types::TaskId;
6
7#[derive(Debug, Clone)]
9pub enum SwarmEvent {
10 TickStart { tick: u64 },
12
13 TickComplete {
15 tick: u64,
16 duration_ns: u64,
17 metrics: TickMetrics,
18 },
19
20 ManagerStateChange {
22 manager_id: usize,
23 new_state: ManagerState,
24 },
25
26 WorkerAction {
28 worker_id: usize,
29 action: String,
30 success: bool,
31 },
32
33 AsyncTaskComplete { task_id: TaskId, duration_ms: u64 },
35
36 SystemStart { worker_count: usize },
38
39 SystemStop {
41 total_ticks: u64,
42 total_duration_ms: u64,
43 },
44}
45
46#[derive(Debug, Clone, Default)]
48pub struct TickMetrics {
49 pub total_actions: u64,
50 pub successful_actions: u64,
51 pub failed_actions: u64,
52 pub active_workers: usize,
53}
54
55#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
57pub enum ManagerState {
58 #[default]
59 Idle,
60 Processing,
61 Delegated,
62 Escalated,
63 Error,
64}