define MaxRSS_max as an additional sample row

This commit is contained in:
2026-06-02 17:13:50 +02:00
parent bb7a6607ce
commit b48fe71c6a
+8 -6
View File
@@ -65,6 +65,7 @@ DEFAULT_COLUMNS = [
"Nodes",
"ReqMem",
"MemPerCPU",
"MaxRSS_max",
"ReqWalltime",
"Count",
"CPU_Efficiency",
@@ -136,6 +137,7 @@ class OutputRow:
Memory_Efficiency: float | None
Time_Efficiency: float | None
jobname: str
maxrss_max: float | None
_cpu_eff_values: list[float] = field(default_factory=list, repr=False)
_mem_eff_values: list[float] = field(default_factory=list, repr=False)
_time_eff_values: list[float] = field(default_factory=list, repr=False)
@@ -147,6 +149,7 @@ class OutputRow:
"CPUs": self.CPUs,
"Nodes": self.Nodes,
"ReqMem": self.ReqMem,
"MaxRSS_max": self.maxrss_max,
"MemPerCPU": self.MemPerCPU,
"ReqWalltime": self.ReqWalltime,
"Count": self.Count,
@@ -480,6 +483,7 @@ def make_single_row(rec: JobRecord) -> OutputRow:
Memory_Efficiency=rec.mem_eff,
Time_Efficiency=rec.time_eff,
jobname=rec.jobname,
maxrss_max=rec.maxrss_bytes / (1024**3) if rec.maxrss_bytes is not None else None,
_cpu_eff_values=[rec.cpu_eff] if rec.cpu_eff is not None else [],
_mem_eff_values=[rec.mem_eff] if rec.mem_eff is not None else [],
_time_eff_values=[rec.time_eff] if rec.time_eff is not None else [],
@@ -505,7 +509,7 @@ def make_aggregate_row(records: list[JobRecord], username: str, jobname: str) ->
Memory_Efficiency=mean_or_none(mem_eff_vals),
Time_Efficiency=mean_or_none(time_eff_vals),
jobname=jobname,
Testcolumn=10,
maxrss_max=max([r.maxrss_bytes for r in records if r.maxrss_bytes is not None]) / (1024**3) or None,
_cpu_eff_values=cpu_eff_vals,
_mem_eff_values=mem_eff_vals,
_time_eff_values=time_eff_vals,
@@ -570,7 +574,7 @@ def columns_for_sdev(base_cols: list[str]) -> list[str]:
def format_reqmem_gb(value: float | None) -> str:
def format_gb_value(value: float | None) -> str:
if value is None:
return "NA"
return f"{value:.2f}G"
@@ -583,10 +587,8 @@ def format_reqwall_hours(value: float | None) -> str:
def format_value(value: Any, column: str | None = None) -> str:
if column == "ReqMem":
return format_reqmem_gb(value)
if column == "MemPerCPU":
return format_reqmem_gb(value)
if column in ["ReqMem", "MemPerCPU", "MaxRSS_max"]:
return format_gb_value(value)
if column == "ReqWalltime":
return format_reqwall_hours(value)