Files
ppc_amnet/amnet-server/src/metrics.rs
T
2026-01-05 21:32:38 +00:00

24 lines
565 B
Rust

use std::sync::{OnceLock, Mutex};
static METRICS: OnceLock<SystemMetrics> = OnceLock::new();
pub (crate) struct SystemMetrics {
pub start_time: Mutex<Option<std::time::Instant>>,
pub last_poll_time: Mutex<Option<std::time::Instant>>,
}
impl Default for SystemMetrics {
fn default() -> Self {
Self {
start_time: Mutex::new(None),
last_poll_time: Mutex::new(None),
}
}
}
impl SystemMetrics {
pub fn instance() -> &'static SystemMetrics {
METRICS.get_or_init(|| SystemMetrics::default())
}
}