Skip to main content

stackpatrol_core/
event.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
4#[serde(rename_all = "snake_case", tag = "kind")]
5pub enum Event {
6    Heartbeat { uptime_secs: u64 },
7    ServiceDown { name: String },
8    ServiceUp { name: String },
9    DiskHigh { mount: String, percent: u8 },
10    MemoryHigh { percent: u8 },
11    LoadHigh { load_1m: f32 },
12    HostUnreachable,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct EventEnvelope {
17    pub server_name: String,
18    pub timestamp: i64,
19    pub event: Event,
20}