Skip to content
Sam Green edited this page Oct 21, 2026 · 3 revisions

logger-rs

Resource telemetry for HPC jobs. Samples a job's usage from its cgroup and writes NDJSON that the HPC Dashboard reads directly — no daemon, no HTTP, no database.

Two lines around the part of your job script you care about:

source logger-rs.sh

telemetry_start
    mpirun -np "$PBS_NCPUS" ./my_model
telemetry_stop

Supports cgroup v1 (Gadi today) and cgroup v2 (unified hierarchy, what a RHEL 9 refresh would bring). The hierarchy in use is detected at startup and recorded in the output.

The current release is built for PBS systems, including Gadi. SLURM support is in development.


Start here

Page What's in it
Quick Start Install, the two lines, a complete job script, and how source finds the file
Troubleshooting Things that look like faults but aren't, and the ones that are

Reference

Page What's in it
Metrics What is collected, from where, and what each figure's scope is
CLI Reference Every argument, and the NDJSON output format
Multi-Node Jobs File layout, the manifest, and what the merge can and cannot combine
Dashboard Integration Reading a job programmatically, aggregating to a job-level series, schema stability

Development

Page What's in it
Architecture Module map and the implementation decisions worth knowing
Building and Deployment Building, cross-compiling, cutting a release, publishing the module

The two things worth knowing up front

Nothing here can fail your job. A missing binary, an unwritable output directory, a logger that dies on startup — each is reported and then ignored, and telemetry_start always returns success. Under set -e, which most production scripts use, anything else would abort a job over its own instrumentation. Running unmeasured is far better than not running.

Measure a region, not the whole script. Keeping data staging out of the numbers matters more than it sounds. A twenty-minute copy from /g/data to jobfs, measured, looks like your job running at nearly zero CPU efficiency: it drags every figure down and makes the dashboard recommend fewer cores than the science actually needs.

Clone this wiki locally