Files
felhom.eu/documentation/audits/night-2026-10-28/bench/tools/summ.py
T

12 lines
852 B
Python

import csv, sys
p = sys.argv[1]
rows = list(csv.DictReader(l for l in open(p) if not l.startswith("#")))
M = lambda v: round(int(v) / 1048576, 1) if v and v.lstrip("-").isdigit() else v
keys = ["anon", "file", "file_mapped", "active_file", "inactive_file", "active_anon", "shmem", "memory_current", "memory_peak", "swap_current"]
print("samples", len(rows), "first", rows[0]["ts"], "last", rows[-1]["ts"])
for k in keys:
vals = [int(r[k]) for r in rows if r.get(k, "").isdigit()]
if vals: print("%-15s max %7.1f M end %7.1f M (%%limit max %.1f)" % (k, max(vals)/1048576, vals[-1]/1048576, 100*max(vals)/int(rows[-1]["memory_max"])))
for k in ("pglazyfree_pages", "pglazyfreed_pages", "anon_thp", "ev_max", "ev_oom_kill", "proc_VmHWM"):
if k in rows[-1]: print(k, "end", M(rows[-1][k]) if k in ("anon_thp", "proc_VmHWM") else rows[-1][k])