diff --git a/src/sysinfo.rs b/src/sysinfo.rs
index d4ef344..4609916 100644
--- a/src/sysinfo.rs
+++ b/src/sysinfo.rs
@@ -15,18 +15,22 @@
// along with this program. If not, see .
use serde::Serialize;
-use sysinfo::{System, SystemExt, DiskExt};
+use sysinfo::{DiskExt, System, SystemExt};
#[derive(Debug, Serialize)]
pub struct Memory {
pub name: String,
pub size: u64,
- pub available: u64
+ pub available: u64,
}
impl Memory {
pub fn new(name: String, size: u64, available: u64) -> Self {
- Self { name, size, available }
+ Self {
+ name,
+ size,
+ available,
+ }
}
pub fn used(&self) -> u64 {
@@ -64,8 +68,18 @@ impl Machine {
)
})
.collect::>();
- let ram = Memory::new("RAM".into(), sys.total_memory() * 1000, sys.available_memory() * 1000);
- let swap = Memory::new("Swap".into(), sys.total_swap() * 1000, sys.free_swap() * 1000);
+ // Size of RAM and Swap is returned in KB, unlike the drives’
+ // size which is in byte
+ let ram = Memory::new(
+ "RAM".into(),
+ sys.total_memory() * 1000,
+ sys.available_memory() * 1000,
+ );
+ let swap = Memory::new(
+ "Swap".into(),
+ sys.total_swap() * 1000,
+ sys.free_swap() * 1000,
+ );
Self {
os: sys.name().unwrap(),
kernel: sys.kernel_version().unwrap(),
@@ -73,7 +87,13 @@ impl Machine {
uptime: sys.uptime(),
ram,
swap,
- disks
+ disks,
}
}
}
+
+impl Default for Machine {
+ fn default() -> Self {
+ Self::new()
+ }
+}