Documentation
¶
Overview ¶
Command bench is a thesis-grade measurement harness for bubblepprof's target-side profiling paths. It spawns a parameterized synthetic workload, drives N iterations of either memusage.Compute (in-process analysis) or bundle.CaptureSelf (external analyser target-side capture only) against the running process, and emits a JSON report with per-iteration measurements and aggregate statistics.
Captured per iteration:
- wall-clock latency of the selected operation
- max user-visible scheduling pause during the operation (heartbeat goroutine)
- Go heap allocated by the operation (HeapAlloc delta, TotalAlloc delta)
- process RSS before/after and per-call peak RSS delta on Linux (/proc/self/status VmRSS/VmHWM, optionally reset via clear_refs)
- matched_goroutines, reachable_bytes from the response in compute mode
- bundle_bytes emitted in bundle mode
Aggregates: mean, stddev, min, max, p50, p95, p99 per metric.
One iteration optionally runs under runtime/trace (-trace=path.trace) so the per-stage spans recorded by internal/memusage's trace.StartRegion calls can be inspected with `go tool trace` and cross-checked against the heartbeat-based STW estimate.