define MaxRSS_max as an additional sample row
This commit is contained in:
+8
-6
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user