Collects periodic snapshots of /proc filesystem files during benchmark execution and post-processes them into crucible metrics. Primary metric output is interrupt rates derived from interrupt count deltas.
- Bash: collection scripts (
procstat-start,procstat-stop,procstat-collect) - Python: post-processor (
procstat-post-process.py)
| File | Purpose |
|---|---|
procstat-start |
Validates collector, sets defaults, captures CPU topology, launches procstat-collect in background |
procstat-collect |
Reads configured /proc files at intervals, appends timestamped snapshots |
procstat-stop |
Kills collector, compresses output with xz |
procstat-post-process.py |
Derives interrupt-rate metrics from snapshots using CDMMetrics |
rickshaw.json |
Rickshaw integration: endpoint allow/block lists, file deployment, post-process script |
workshop.json |
Engine image build requirements (minimal) |
tool-metadata.json |
Machine-readable description and CDM-indexed status (consumed by crucible tools list) |
multiplex.json |
Parameter validation rules and defaults preset for multiplex (mirrors benchmark multiplex.json) |
--files <list>— Comma-separated /proc files to collect (default:interrupts,vmstat,slabinfo,softirqs,meminfo,schedstat,net/softnet_stat)--interval <seconds>— Collection interval (default:3)
- Primary branch is
master - Runs as a profiler tool on master/worker/profiler roles, blocked on client/server
- Standard Bash modelines and 4-space indentation