diff --git a/slurm-eff-tool.py b/slurm-eff-tool.py index 87cfaf6..fadaba5 100755 --- a/slurm-eff-tool.py +++ b/slurm-eff-tool.py @@ -81,6 +81,38 @@ ALL_COLUMNS = [ "jobname", ] +PRESET_COLUMNS = { + "default": [ + "username", + "JobID", + "Count", + "NTasks", + "CPUs", + "Nodes", + "CPU_Eff", + "waste_CPU", + "AllocMem", + "UsedMem", + "MaxRSS_max", + "MemPerCPU", + "Mem_Eff", + "waste_Mem", + "ReqWalltime", + "Walltime", + "Walltime_max", + "Time_Eff", + "jobname",], + "all": ALL_COLUMNS, + "eff": [ + "username", + "JobID", + "Count", + "CPU_Eff", + "Mem_Eff", + "Time_Eff", + "jobname",], +} + # One-character aliases for sorting and output format specifications. ALIASES = { "u": "username", @@ -972,6 +1004,8 @@ def parse_args(argv: list[str]) -> argparse.Namespace: ) p.add_argument("--expr", help="arithmetic expression using column names", default=None) + p.add_argument("-p", "--preset", help=f"use one of several preset output column formats ({','.join(PRESET_COLUMNS.keys())})", + default=None) args = p.parse_args(argv) @@ -989,7 +1023,9 @@ def main(argv: list[str] | None = None) -> int: args = parse_args(argv or sys.argv[1:]) - output_columns = ALL_COLUMNS + output_columns = PRESET_COLUMNS["default"] + if args.preset: + output_columns = PRESET_COLUMNS[args.preset] if args.format: output_columns = columns_from_fmtstr(args.format)