Skip to content

Releases: PurdueRCAC/sacct-plot

v0.1.1

15 Mar 02:41
v0.1.1
a92b40b

Choose a tag to compare

What's Changed

Test Infrastructure

  • Added scripts/anonymize_sacct.py for anonymizing raw sacct output into fixture data
  • Generated tests/fixtures/sacct_3months.txt.gz — ~1.28M anonymized job records from a busy GPU cluster
  • Added tests/conftest.py with mock_sacct fixture that patches subprocess.check_output for deterministic testing without a live cluster

Documentation

  • Expanded README with full analytics guide covering allocation mode, wait time mode, grouping, filtering, bucketing, and real-world usage scenarios
  • Added ROADMAP phases 6–12 covering wait time analysis, --all overlay, and comprehensive testing infrastructure
  • Updated ROADMAP to reflect completed Phase 5 (v0.1.0 merge) and Phase 6 (test fixtures)

Full Changelog: v0.1.0...v0.1.1

v0.1.0

04 Mar 20:43
v0.1.0

Choose a tag to compare

sacct-plot v0.1.0

Initial release of sacct-plot — a command-line tool that visualizes instantaneous allocated resources (CPUs/GPUs) on Slurm clusters over time.

Features

  • Sacct integration: Queries sacct for job records with full filter support (-u, -A, -r, -q, -s, -S, -E)
  • Event-sweep algorithm: O(N log N) vectorized computation of exact allocation step functions from job start/end events
  • Grouping: Overlay series by account, user, or QOS (--by)
  • GPU support: Plot GPU allocation with --gpu
  • Time bucketing: Aggregate to arbitrary intervals (--bucket 1h, --bucket 1d, etc.) with proper step-function integration (level × duration)
    • --sum: Resource-hours per bucket (e.g. GPU·h)
    • --mean: Time-weighted average allocation level
    • --max / --min: Peak or minimum allocation within buckets
  • Cumulative mode: --cumulative shows running total of bucketed values — useful for tracking accumulated compute spend over time
  • Top-N filtering: --top N keeps the top N groups by total area, collapses the rest into "other"
  • Terminal rendering: Rich time-series plots via tplot with smart axis labels, configurable size, colors, and legend position
  • Stacked area view: --stacked for cumulative area visualization
  • Data export: --data dumps the processed DataFrame for further analysis
  • Parquet caching: 10-minute TTL cache in ~/.cache/sacct/ avoids repeated sacct calls
  • Configuration: Environment variable support with SACCT_PLOT prefix via cmdkit