mycommon-utils 0.2.1

Common utilities library for database operations, Redis caching and system utilities
Documentation
use sysinfo::{System };
use crate::model::monitor_model::Sys;
// use byte_unit::Byte;

//
// pub fn get_cpu_info()->Cpu{
//     let sys = System::new_all();
//     let cpus = sys.cpus();
//     let global_cpu_usage = sys.global_cpu_usage();
//     // 假设我们取第一个 CPU 的信息作为代表(或根据需要调整)
//     let first_cpu = cpus.get(0).ok_or("No CPU information available");
//     Cpu {
//         cpu_num: cpus.len(),
//         used: global_cpu_usage,
//         brand: first_cpu.unwrap().name().to_string(),
//         frequency: first_cpu.unwrap().frequency(),  // 注意类型转换,具体取决于库返回的类型
//     }
// }
//
// pub fn u64_to_gb(size:u64)->String{
//     let byte = Byte::from_u64(size);
//     format!("{byte:#.9}")
// }
//
// pub fn get_mem_info()->Mem{
//     let mut sys = System::new_all();
//     sys.refresh_all();
//     Mem{
//         total: u64_to_gb(sys.total_memory()),
//         used: u64_to_gb(sys.used_memory()),
//         total_swap: u64_to_gb(sys.total_swap()),
//         used_swap: u64_to_gb(sys.used_swap()),
//     }
// }
//
pub fn get_sys_info()->Sys{
    let mut sys = System::new_all();
    sys.refresh_all();
    Sys{
        os_name: System::name(),
        os_version: System::os_version(),
        host_name: System::host_name(),
        kernel_version: System::kernel_version(),
    }
}
//
// pub fn get_disk_info()->Vec<SysFiles>{
//     let disks = Disks::new_with_refreshed_list();
//     let mut sys_file_vec = Vec::<SysFiles>::new();
//     for disk in &disks {
//         sys_file_vec.push(SysFiles{
//             name: disk.name().to_str().map_or(String::new(), |v| v.to_string()),
//             sys_type_name: disk.file_system().to_str().map_or(String::new(), |v| v.to_string()),
//             type_name: disk.kind().to_string(),
//             total: u64_to_gb(disk.total_space()),
//             free: u64_to_gb(disk.available_space()),
//         })
//     };
//     sys_file_vec
// }