style: apply cargo fmt

Formatted Rust code to pass CI style checks.
This commit is contained in:
m1ngsama 2025-12-18 13:18:54 +08:00
parent 0e9c5a33c3
commit 22cbc1d019
6 changed files with 60 additions and 31 deletions

View file

@ -17,7 +17,10 @@ impl AlertSystem {
pub fn check_cpu_alert(&mut self, cpu_percent: f32) -> bool { pub fn check_cpu_alert(&mut self, cpu_percent: f32) -> bool {
let threshold = self.config.alert_thresholds.cpu_percent; let threshold = self.config.alert_thresholds.cpu_percent;
if cpu_percent > threshold { if cpu_percent > threshold {
let message = format!("CPU usage is {:.2}% (threshold: {:.2}%)", cpu_percent, threshold); let message = format!(
"CPU usage is {:.2}% (threshold: {:.2}%)",
cpu_percent, threshold
);
self.trigger_alert("CPU", &message); self.trigger_alert("CPU", &message);
return true; return true;
} }
@ -27,7 +30,10 @@ impl AlertSystem {
pub fn check_memory_alert(&mut self, memory_percent: f32) -> bool { pub fn check_memory_alert(&mut self, memory_percent: f32) -> bool {
let threshold = self.config.alert_thresholds.memory_percent; let threshold = self.config.alert_thresholds.memory_percent;
if memory_percent > threshold { if memory_percent > threshold {
let message = format!("Memory usage is {:.2}% (threshold: {:.2}%)", memory_percent, threshold); let message = format!(
"Memory usage is {:.2}% (threshold: {:.2}%)",
memory_percent, threshold
);
self.trigger_alert("Memory", &message); self.trigger_alert("Memory", &message);
return true; return true;
} }
@ -37,7 +43,10 @@ impl AlertSystem {
pub fn check_disk_alert(&mut self, disk_percent: f32) -> bool { pub fn check_disk_alert(&mut self, disk_percent: f32) -> bool {
let threshold = self.config.alert_thresholds.disk_percent; let threshold = self.config.alert_thresholds.disk_percent;
if disk_percent > threshold { if disk_percent > threshold {
let message = format!("Disk usage is {:.2}% (threshold: {:.2}%)", disk_percent, threshold); let message = format!(
"Disk usage is {:.2}% (threshold: {:.2}%)",
disk_percent, threshold
);
self.trigger_alert("Disk", &message); self.trigger_alert("Disk", &message);
return true; return true;
} }
@ -45,7 +54,8 @@ impl AlertSystem {
} }
fn trigger_alert(&mut self, alert_type: &str, message: &str) { fn trigger_alert(&mut self, alert_type: &str, message: &str) {
self.logger.log_alert(&format!("{}: {}", alert_type, message)); self.logger
.log_alert(&format!("{}: {}", alert_type, message));
println!("\n⚠️ ALERT: {}", message); println!("\n⚠️ ALERT: {}", message);
} }
} }

View file

@ -1,7 +1,7 @@
use anyhow::Result;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::fs; use std::fs;
use std::path::Path; use std::path::Path;
use anyhow::Result;
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Config { pub struct Config {

View file

@ -2,12 +2,12 @@ use clap::Parser;
use std::thread; use std::thread;
use std::time::Duration; use std::time::Duration;
mod alert;
mod config; mod config;
mod logger;
mod monitor; mod monitor;
mod process; mod process;
mod temperature; mod temperature;
mod alert;
mod logger;
use config::Config; use config::Config;
use monitor::SystemMonitor; use monitor::SystemMonitor;
@ -41,7 +41,10 @@ fn main() {
let mut monitor = SystemMonitor::new(config); let mut monitor = SystemMonitor::new(config);
if args.continuous { if args.continuous {
log::info!("Starting continuous monitoring mode with {}s interval", args.interval); log::info!(
"Starting continuous monitoring mode with {}s interval",
args.interval
);
loop { loop {
monitor.display_stats(); monitor.display_stats();
thread::sleep(Duration::from_secs(args.interval)); thread::sleep(Duration::from_secs(args.interval));

View file

@ -1,10 +1,10 @@
use crate::alert::AlertSystem;
use crate::config::Config; use crate::config::Config;
use crate::logger::TrackerLogger;
use crate::process::ProcessMonitor; use crate::process::ProcessMonitor;
use crate::temperature::TemperatureMonitor; use crate::temperature::TemperatureMonitor;
use crate::alert::AlertSystem;
use crate::logger::TrackerLogger;
use sysinfo::{System, Disks, Networks};
use chrono::Local; use chrono::Local;
use sysinfo::{Disks, Networks, System};
pub struct SystemMonitor { pub struct SystemMonitor {
config: Config, config: Config,
@ -99,7 +99,10 @@ impl SystemMonitor {
pub fn display_stats(&mut self) { pub fn display_stats(&mut self) {
println!("\n{}", "=".repeat(50)); println!("\n{}", "=".repeat(50));
println!("System Tracker - {}", Local::now().format("%Y-%m-%d %H:%M:%S")); println!(
"System Tracker - {}",
Local::now().format("%Y-%m-%d %H:%M:%S")
);
println!("{}\n", "=".repeat(50)); println!("{}\n", "=".repeat(50));
if self.config.display.show_cpu { if self.config.display.show_cpu {
@ -111,37 +114,46 @@ impl SystemMonitor {
if self.config.display.show_memory { if self.config.display.show_memory {
let mem = self.get_memory_info(); let mem = self.get_memory_info();
println!("Memory: {:.2}% ({:.2}GB / {:.2}GB)", println!(
"Memory: {:.2}% ({:.2}GB / {:.2}GB)",
mem.percent, mem.percent,
mem.used as f64 / (1024_f64.powi(3)), mem.used as f64 / (1024_f64.powi(3)),
mem.total as f64 / (1024_f64.powi(3)) mem.total as f64 / (1024_f64.powi(3))
); );
self.logger.log_stats("Memory", &format!("{:.2}%", mem.percent)); self.logger
.log_stats("Memory", &format!("{:.2}%", mem.percent));
self.alert_system.check_memory_alert(mem.percent); self.alert_system.check_memory_alert(mem.percent);
} }
if self.config.display.show_disk { if self.config.display.show_disk {
let disk = self.get_disk_usage(); let disk = self.get_disk_usage();
println!("Disk: {:.2}% ({:.2}GB / {:.2}GB)", println!(
"Disk: {:.2}% ({:.2}GB / {:.2}GB)",
disk.percent, disk.percent,
disk.used as f64 / (1024_f64.powi(3)), disk.used as f64 / (1024_f64.powi(3)),
disk.total as f64 / (1024_f64.powi(3)) disk.total as f64 / (1024_f64.powi(3))
); );
self.logger.log_stats("Disk", &format!("{:.2}%", disk.percent)); self.logger
.log_stats("Disk", &format!("{:.2}%", disk.percent));
self.alert_system.check_disk_alert(disk.percent); self.alert_system.check_disk_alert(disk.percent);
} }
if self.config.display.show_network { if self.config.display.show_network {
let net = self.get_network_stats(); let net = self.get_network_stats();
println!("Network: Sent {:.2}MB | Recv {:.2}MB", println!(
"Network: Sent {:.2}MB | Recv {:.2}MB",
net.bytes_sent as f64 / (1024_f64.powi(2)), net.bytes_sent as f64 / (1024_f64.powi(2)),
net.bytes_recv as f64 / (1024_f64.powi(2)) net.bytes_recv as f64 / (1024_f64.powi(2))
); );
self.logger.log_stats("Network", &format!("Sent: {} Recv: {}", net.bytes_sent, net.bytes_recv)); self.logger.log_stats(
"Network",
&format!("Sent: {} Recv: {}", net.bytes_sent, net.bytes_recv),
);
} }
if self.config.display.show_processes { if self.config.display.show_processes {
self.process_monitor.display_processes(self.config.process_limit); self.process_monitor
.display_processes(self.config.process_limit);
} }
if self.config.display.show_temperatures { if self.config.display.show_temperatures {

View file

@ -22,7 +22,9 @@ impl ProcessMonitor {
pub fn get_top_processes(&mut self, limit: usize) -> Vec<ProcessInfo> { pub fn get_top_processes(&mut self, limit: usize) -> Vec<ProcessInfo> {
self.sys.refresh_all(); self.sys.refresh_all();
let mut processes: Vec<ProcessInfo> = self.sys.processes() let mut processes: Vec<ProcessInfo> = self
.sys
.processes()
.iter() .iter()
.map(|(pid, process)| { .map(|(pid, process)| {
let total_memory = self.sys.total_memory() as f32; let total_memory = self.sys.total_memory() as f32;
@ -57,8 +59,10 @@ impl ProcessMonitor {
println!("{}", "-".repeat(60)); println!("{}", "-".repeat(60));
for proc in self.get_top_processes(limit) { for proc in self.get_top_processes(limit) {
println!("{:<10}{:<30}{:<10.2}{:<10.2}", println!(
proc.pid, proc.name, proc.cpu_percent, proc.memory_percent); "{:<10}{:<30}{:<10.2}{:<10.2}",
proc.pid, proc.name, proc.cpu_percent, proc.memory_percent
);
} }
println!("\nTotal Processes: {}", self.get_process_count()); println!("\nTotal Processes: {}", self.get_process_count());