/
teterkin
/
vm_load_testing
Обзор
Документация
Войти
/
teterkin
/
vm_load_testing
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/extra.rs
41 строка
1 KB
alexefan136
upload files
12 ноя 2025, 18:00
12 ноя 2025, 18:00
eb766a0
Код
Авторство
О чём код?
// src/extra.rs #[derive(Debug)] pub struct ExtraInfo { pub uptime_seconds: u64, pub boot_time: String, pub cgroup_version: String, pub secure_boot: bool, pub kernel_cmdline: String, } pub fn collect_extra_info() -> ExtraInfo { let uptime = std::fs::read_to_string("/proc/uptime") .ok() .and_then(|s| s.split_whitespace().next().and_then(|t| t.parse().ok())) .unwrap_or(0.0) as u64; let boot_time = "N/A".to_string(); // можно из /proc/stat btime let cgroup_version = if std::path::Path::new("/sys/fs/cgroup/cgroup.controllers").exists() { "cgroup v2".to_string() } else { "cgroup v1".to_string() }; let secure_boot = std::path::Path::new("/sys/firmware/efi/efivars/SecureBoot-...") .exists(); // упрощённо — на практике сложнее let kernel_cmdline = std::fs::read_to_string("/proc/cmdline") .unwrap_or_default() .trim() .to_string(); ExtraInfo { uptime_seconds: uptime, boot_time, cgroup_version, secure_boot, kernel_cmdline, } }