()
| 231 | |
| 232 | |
| 233 | def main() -> int: |
| 234 | args = parse_args() |
| 235 | procs = list(iter_jcode_processes(args.socket, args.include_aux)) |
| 236 | server = [p for p in procs if p.role == "server"] |
| 237 | clients = [p for p in procs if p.role.startswith("client_") and p.role != "client_aux"] |
| 238 | aux = [p for p in procs if p.role.endswith("aux")] |
| 239 | |
| 240 | if args.json: |
| 241 | payload = { |
| 242 | "socket": args.socket, |
| 243 | "server": [asdict(p) for p in sorted(server, key=lambda x: x.pid)], |
| 244 | "clients": [asdict(p) for p in sorted(clients, key=lambda x: x.pid)], |
| 245 | "auxiliary": [asdict(p) for p in sorted(aux, key=lambda x: x.pid)], |
| 246 | "totals": { |
| 247 | "server": asdict(sum_totals(server)), |
| 248 | "clients": asdict(sum_totals(clients)), |
| 249 | "primary": asdict(sum_totals(server + clients)), |
| 250 | "auxiliary": asdict(sum_totals(aux)), |
| 251 | }, |
| 252 | } |
| 253 | print(json.dumps(payload, indent=2)) |
| 254 | else: |
| 255 | print_human(server, clients, aux) |
| 256 | return 0 |
| 257 | |
| 258 | |
| 259 | if __name__ == "__main__": |
no test coverage detected