pub mod cpu;
pub mod disk;
pub mod disk_mount;
pub mod disk_type;
pub mod gpu;
pub mod host;
pub mod memory;
pub mod network;
pub use cpu::CpuMetrics;
pub use disk::DiskMetrics;
pub use disk_mount::DiskMountMetrics;
pub use disk_type::DiskType;
pub use gpu::GpuMetrics;
pub use host::{CloudInfo, HostInfo};
pub use memory::MemoryMetrics;
pub use network::NetworkMetrics;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Sample {
pub timestamp_secs: u64,
pub job_name: Option<String>,
pub tracked_pid: Option<i32>,
pub cpu: CpuMetrics,
pub memory: MemoryMetrics,
pub network: Vec<NetworkMetrics>,
pub disk: Vec<DiskMetrics>,
pub gpu: Vec<GpuMetrics>,
}