Add RAM usage in GB and swap metrics to agent, server, UI and CSV export

This commit is contained in:
2026-07-17 17:10:47 +07:00
parent 513b8ede84
commit 76f74201e5
12 changed files with 272 additions and 35 deletions
+21 -1
View File
@@ -68,6 +68,12 @@ def heartbeat(
computer.current_cpu_percent = payload.cpu_percent
computer.current_ram_percent = payload.ram_percent
computer.current_ram_total_gb = payload.ram_total_gb
computer.current_ram_used_gb = payload.ram_used_gb
computer.current_ram_available_gb = payload.ram_available_gb
computer.current_swap_total_gb = payload.swap_total_gb
computer.current_swap_used_gb = payload.swap_used_gb
computer.current_swap_free_gb = payload.swap_free_gb
computer.current_swap_percent = payload.swap_percent
sessions = payload.sessions
if sessions:
@@ -83,6 +89,12 @@ def heartbeat(
cpu_percent=payload.cpu_percent,
ram_percent=payload.ram_percent,
ram_total_gb=payload.ram_total_gb,
ram_used_gb=payload.ram_used_gb,
ram_available_gb=payload.ram_available_gb,
swap_total_gb=payload.swap_total_gb,
swap_used_gb=payload.swap_used_gb,
swap_free_gb=payload.swap_free_gb,
swap_percent=payload.swap_percent,
disk_info=payload.disk_info or [],
cpu_temp=payload.cpu_temp,
load_avg=payload.load_avg,
@@ -202,7 +214,9 @@ def export_csv(
writer = csv.writer(output)
writer.writerow([
"ID", "Hostname", "User", "IP", "Status", "OS", "CPU %", "RAM %",
"RAM Total GB", "Uptime sec", "Last seen", "First seen",
"RAM Used GB", "RAM Total GB", "RAM Available GB", "Swap %",
"Swap Used GB", "Swap Total GB", "Swap Free GB", "Uptime sec",
"Last seen", "First seen",
])
for c in computers:
writer.writerow([
@@ -214,7 +228,13 @@ def export_csv(
c.os_info or "",
c.current_cpu_percent or "",
c.current_ram_percent or "",
c.current_ram_used_gb or "",
c.current_ram_total_gb or "",
c.current_ram_available_gb or "",
c.current_swap_percent or "",
c.current_swap_used_gb or "",
c.current_swap_total_gb or "",
c.current_swap_free_gb or "",
c.current_uptime_sec or "",
c.last_seen.isoformat() if c.last_seen else "",
c.first_seen.isoformat() if c.first_seen else "",