linux-optimizer 0.1.0

Linux system optimizer and performance tuning tool
// src/metrics/types.rs
use serde::{Serialize, Deserialize};

#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
pub struct SystemMetrics {
    pub timestamp: i64,
    pub mem_free_mb: f64,
    pub mem_total_mb: f64,
    pub swap_free_mb: f64,
    pub swap_total_mb: f64,
    pub cpu_load_1: f64,
    pub cpu_load_5: f64,
    pub cpu_load_15: f64,
    pub disk_free_gb: f64,
    pub disk_total_gb: f64,
}

impl SystemMetrics {
    pub fn new() -> Self {
        Self {
            timestamp: 0,
            mem_free_mb: 0.0,
            mem_total_mb: 0.0,
            swap_free_mb: 0.0,
            swap_total_mb: 0.0,
            cpu_load_1: 0.0,
            cpu_load_5: 0.0,
            cpu_load_15: 0.0,
            disk_free_gb: 0.0,
            disk_total_gb: 0.0,
        }
    }
    
    pub fn mem_used_percent(&self) -> f64 {
        if self.mem_total_mb == 0.0 { return 0.0; }
        ((self.mem_total_mb - self.mem_free_mb) / self.mem_total_mb) * 100.0
    }
    
    pub fn swap_used_percent(&self) -> f64 {
        if self.swap_total_mb == 0.0 { return 0.0; }
        ((self.swap_total_mb - self.swap_free_mb) / self.swap_total_mb) * 100.0
    }
}