Commit 0cc4061
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
0 commit comments