From fecda0a5b5d0db9a18eb4ba6f3bc2e9875b9b1f2 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Tue, 15 Apr 2025 13:30:22 +0200 Subject: Use rapl for total system energy --- energy-monitor/src/process.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/energy-monitor/src/process.rs b/energy-monitor/src/process.rs index 64b278a..b9d00fd 100644 --- a/energy-monitor/src/process.rs +++ b/energy-monitor/src/process.rs @@ -13,6 +13,7 @@ pub struct ProcessData { pub started_at: Instant, pub socket: UnixStream, pub process_info: HashMap, + pub rapl_offset: f64, } impl ProcessData { @@ -23,6 +24,7 @@ impl ProcessData { started_at: Instant::now(), process_info: HashMap::new(), socket: connect_to_service(SOCKET_PATH).expect("Failed to connect to socket"), + rapl_offset: read_package_energy().unwrap(), } } @@ -78,13 +80,11 @@ impl ProcessData { // Add total energy to history let elapsed = self.started_at.elapsed().as_secs_f64(); - let total_energy = (total_energy - + self - .total_energy_history - .last() - .map(|(_, x)| x) - .unwrap_or(&total_energy)) - * 0.5; + + let rapl_energy = read_package_energy().unwrap(); + let total_energy = rapl_energy - self.rapl_offset; + self.rapl_offset = rapl_energy; + self.add_total_energy_point( elapsed, (total_energy -- cgit v1.3.1