1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
use super::*;
#[derive(Default, Clone, PartialEq, Debug, Serialize, Deserialize)]
pub struct Sample {
pub cgroup: CgroupSample,
pub processes: procfs::PidMap,
pub system: SystemSample,
pub netstats: procfs::NetStat,
}
#[derive(Default, Clone, PartialEq, Debug, Serialize, Deserialize)]
pub struct CgroupSample {
pub cpu_stat: Option<cgroupfs::CpuStat>,
pub io_stat: Option<BTreeMap<String, cgroupfs::IoStat>>,
pub memory_current: Option<i64>,
pub memory_stat: Option<cgroupfs::MemoryStat>,
pub pressure: Option<cgroupfs::Pressure>,
pub children: Option<BTreeMap<String, CgroupSample>>,
pub memory_swap_current: Option<i64>,
pub memory_high: Option<i64>,
pub memory_events: Option<cgroupfs::MemoryEvents>,
pub inode_number: Option<i64>,
}
#[derive(Default, Clone, PartialEq, Debug, Serialize, Deserialize)]
pub struct SystemSample {
pub stat: procfs::Stat,
pub meminfo: procfs::MemInfo,
pub vmstat: procfs::VmStat,
pub hostname: String,
pub disks: procfs::DiskMap,
pub kernel_version: Option<String>,
pub os_release: Option<String>,
}