trying different stöff

This commit is contained in:
2025-08-09 17:52:01 +02:00
parent a8cfbbf766
commit cfd9fef3e9
6 changed files with 17 additions and 21 deletions

View File

@@ -242,7 +242,7 @@ pub async fn get_cpu_temp() -> Result<f64, Box<dyn Error>> {
(*services).Release(); (*services).Release();
(*locator).Release(); (*locator).Release();
return Ok(result.unwrap() as f64).map_err(|e| e.into()); Ok(result.unwrap() as f64).map_err(|e| e.into())
} }
} }

View File

@@ -132,11 +132,7 @@ pub fn get_disk_utitlization() -> Result<(f64, f64, f64, f64), Box<dyn Error>> {
} }
pub fn _get_disk_temp_for_component(component: &Component) -> Option<f64> { pub fn _get_disk_temp_for_component(component: &Component) -> Option<f64> {
if let Some(temp) = component.temperature() { component.temperature().map(|temp| temp as f64)
Some(temp as f64)
} else {
None
}
} }
pub fn _get_disk_load_for_disk(disk: &Disk) -> Result<(f64, f64, f64, f64), Box<dyn Error>> { pub fn _get_disk_load_for_disk(disk: &Disk) -> Result<(f64, f64, f64, f64), Box<dyn Error>> {

View File

@@ -21,8 +21,8 @@ pub async fn get_gpu_info() -> Result<GpuInfo, Box<dyn Error>> {
name: Some(gpu_name), name: Some(gpu_name),
current_load: get_gpu_load(&device).ok(), current_load: get_gpu_load(&device).ok(),
current_temp: get_gpu_temp(&device).ok(), current_temp: get_gpu_temp(&device).ok(),
vram_total: Some(total as f64), vram_total: Some(total),
vram_used: Some(used as f64), vram_used: Some(used),
}) })
} }
@@ -72,7 +72,7 @@ fn fallback_gpu_name() -> Option<String> {
#[cfg(target_os = "windows")] #[cfg(target_os = "windows")]
{ {
let output = std::process::Command::new("wmic") let output = std::process::Command::new("wmic")
.args(&["path", "win32_VideoController", "get", "name"]) .args(["path", "win32_VideoController", "get", "name"])
.output() .output()
.ok()?; .ok()?;
Some( Some(

View File

@@ -1,11 +1,11 @@
//use anyhow::Result; //use anyhow::Result;
use std::error::Error; use std::error::Error;
pub(crate) mod cpu; pub mod cpu;
pub(crate) mod disk; pub mod disk;
pub mod gpu; pub mod gpu;
pub(crate) mod memory; pub mod memory;
pub(crate) mod network; pub mod network;
pub use cpu::get_cpu_info; pub use cpu::get_cpu_info;
pub use disk::get_disk_info; pub use disk::get_disk_info;

View File

@@ -53,8 +53,8 @@ pub async fn get_network_info(monitor: &mut NetworkMonitor) -> Result<NetworkInf
let (rx_rate, tx_rate) = monitor.update_usage()?; let (rx_rate, tx_rate) = monitor.update_usage()?;
Ok(NetworkInfo { Ok(NetworkInfo {
interfaces: Some(get_network_interfaces()), interfaces: Some(get_network_interfaces()),
rx_rate: Some(rx_rate as f64), rx_rate: Some(rx_rate),
tx_rate: Some(tx_rate as f64), tx_rate: Some(tx_rate),
}) })
} }
@@ -96,7 +96,7 @@ fn get_network_bytes() -> Result<(u64, u64), Box<dyn Error>> {
} }
if rx_total == 0 && tx_total == 0 { if rx_total == 0 && tx_total == 0 {
return Err(anyhow::anyhow!("No network data available").into()); Err(anyhow::anyhow!("No network data available").into())
} else { } else {
Ok((rx_total, tx_total)) Ok((rx_total, tx_total))
} }

View File

@@ -1,12 +1,12 @@
/// WatcherAgent - A Rust-based system monitoring agent /// WatcherAgent - A Rust-based system monitoring agent
/// This agent collects hardware metrics and sends them to a backend server. /// This agent collects hardware metrics and sends them to a backend server.
/// It supports CPU, GPU, RAM, disk, and network metrics. /// It supports CPU, GPU, RAM, disk, and network metrics.
mod api; pub mod api;
mod hardware; pub mod hardware;
mod metrics; pub mod metrics;
mod models; pub mod models;
use crate::hardware::gpu; pub use crate::hardware::gpu;
use anyhow::Result; use anyhow::Result;
use std::error::Error; use std::error::Error;