Skip to main content

mycommon_utils/model/
monitor_model.rs

1use serde::{Serialize,Deserialize};
2
3#[derive(Debug,Serialize,Deserialize,Clone)]
4#[serde(rename_all(serialize="camelCase"))]
5pub struct Cpu{
6    pub cpu_num:usize,
7    pub used:f32,
8    pub brand:String,
9    pub frequency:u64,
10}
11
12#[derive(Debug,Serialize,Deserialize,Clone)]
13#[serde(rename_all(serialize="camelCase"))]
14pub struct Mem{
15    pub total:String,
16    pub used:String,
17    pub total_swap:String,
18    pub used_swap:String,
19}
20
21#[derive(Debug,Serialize,Deserialize,Clone)]
22#[serde(rename_all(serialize="camelCase"))]
23pub struct Sys{
24    pub os_name:Option<String>,
25    pub os_version:Option<String>,
26    pub host_name:Option<String>,
27    pub kernel_version:Option<String>,
28}
29
30#[derive(Debug,Serialize,Deserialize,Clone)]
31#[serde(rename_all(serialize="camelCase"))]
32pub struct SysFiles{
33    pub name:String, // 硬盘名称
34    pub sys_type_name:String, // 文件系统
35    pub type_name:String, // 盘符类型
36    pub total:String,
37    pub free:String,
38}
39
40#[derive(Debug,Serialize,Deserialize,Clone)]
41#[serde(rename_all(serialize="camelCase"))]
42pub struct ServerInfo{
43    pub cpu:Cpu,
44    pub mem:Mem,
45    pub sys:Sys,
46    pub sys_files:Vec<SysFiles>
47}