add server_info cpus net_info api

Signed-off-by: mujunxiang <1948535941@qq.com>
This commit is contained in:
mujunxiang
2024-11-25 17:26:34 +08:00
parent 7029524504
commit 5cc138e23d
10 changed files with 243 additions and 7 deletions
+51
View File
@@ -0,0 +1,51 @@
use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Serialize, Deserialize)]
pub struct NodeCommon {
pub addr: String,
pub error: String,
}
#[derive(Debug, Default, Serialize, Deserialize)]
pub struct Cpu {
vendor_id: String,
family: String,
model: String,
stepping: i32,
physical_id: String,
model_name: String,
mhz: f64,
cache_size: i32,
flags: Vec<String>,
microcode: String,
cores: u64,
}
#[derive(Debug, Default, Serialize, Deserialize)]
pub struct CpuFreqStats {
name: String,
cpuinfo_current_frequency: Option<u64>,
cpuinfo_minimum_frequency: Option<u64>,
cpuinfo_maximum_frequency: Option<u64>,
cpuinfo_transition_latency: Option<u64>,
scaling_current_frequency: Option<u64>,
scaling_minimum_frequency: Option<u64>,
scaling_maximum_frequency: Option<u64>,
available_governors: String,
driver: String,
governor: String,
related_cpus: String,
set_speed: String,
}
#[derive(Debug, Default, Serialize, Deserialize)]
pub struct Cpus {
node_common: NodeCommon,
cpus: Vec<Cpu>,
cpu_freq_stats: Vec<CpuFreqStats>,
}
pub fn get_cpus() -> Cpus {
// todo
Cpus::default()
}
+2
View File
@@ -0,0 +1,2 @@
pub mod health;
pub mod net;
+13
View File
@@ -0,0 +1,13 @@
use serde::{Deserialize, Serialize};
use crate::health::NodeCommon;
pub mod net_linux;
#[derive(Debug, Default, Serialize, Deserialize)]
pub struct NetInfo {
node_common: NodeCommon,
interface: String,
driver: String,
firmware_version: String,
}
+9
View File
@@ -0,0 +1,9 @@
use super::NetInfo;
pub fn get_net_info(addr: &str, iface: &str) -> NetInfo {
let mut ni = NetInfo::default();
ni.node_common.addr = addr.to_string();
ni.interface = iface.to_string();
ni
}