Skip to content

Commit 0cc4061

Browse files
sawenzelclaude
andcommitted
Prepare o2dpg_sim_metrics.py for the new workflow runner
This is the first step of a refactoring of MC/bin/o2_dpg_workflow_runner.py into a modular package, presented at CHEP 2026. It updates the metrics tool to read what that runner writes, and fixes two numbers it was already getting wrong. - cgroup_cpu and cgroup_mem are read when the runner ran under --systemd-run, and slice-level CPU is preferred over the sum of per-task psutil readings. - __cgroup_global__ and __global_init_task__ rows are internal markers and no longer enter the per-task statistics. - lifetime was an iteration count and is now seconds, which is what the new schedule simulator reads it as. update_resource_estimates() only reads pss.max and cpu.mean, so the current runner is unaffected. - json-stat reads the *.log_time files written by GNU time, and falls back to user time where a task was too short for its 10 ms wall resolution. - The runtime estimate assumed every monitor iteration takes 5 seconds. On a 12.2 s run it reported 65 s. Walltime now comes from the log timestamps, which gives 10.9 s for the same run. - min_lifetime was computed with .max(). It now uses .min(), and a std is reported alongside. https://indico.cern.ch/event/1471803/contributions/6967072/ Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 5da6f99 commit 0cc4061

1 file changed

Lines changed: 405 additions & 58 deletions

File tree

0 commit comments

Comments
 (0)