Skip to content

Commit 80f6104

Browse files
committed
Add support for configurable extra arguments to perf stat
Update benchmark scripts and README to include `PERF_STAT_ARGS` for additional `perf stat` parameters.
1 parent 495ba4f commit 80f6104

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

benchmark-runner/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ When enabled, pidstat always records three files: handoff server, mock server, a
140140
|----------|---------|-------------|
141141
| `ENABLE_PERF_STAT` | false | Enable perf stat collection |
142142
| `PERF_STAT_OUTPUT` | perf-stat.txt | Output filename |
143+
| `PERF_STAT_ARGS` | | Extra perf stat arguments (passed as-is) |
143144

144145
perf stat uses `PROFILING_DELAY_SECONDS` and `PROFILING_DURATION_SECONDS`.
145146

benchmark-runner/scripts/run-benchmark.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ PIDSTAT_HANDOFF_DETAILED="${PIDSTAT_HANDOFF_DETAILED:-true}"
8080
# perf stat configuration
8181
ENABLE_PERF_STAT="${ENABLE_PERF_STAT:-false}"
8282
PERF_STAT_OUTPUT="${PERF_STAT_OUTPUT:-perf-stat.txt}"
83+
PERF_STAT_ARGS="${PERF_STAT_ARGS:-}"
8384

8485
# Output directory
8586
OUTPUT_DIR="${OUTPUT_DIR:-./benchmark-results}"
@@ -619,7 +620,7 @@ start_perf_stat() {
619620
local profiling_delay_ms=$((PROFILING_DELAY_SECONDS * 1000))
620621
local profiling_duration_ms=$((PROFILING_DURATION_SECONDS * 1000))
621622

622-
perf stat -p "$SERVER_PID" -o "$output_file" -D "$profiling_delay_ms" --timeout "$profiling_duration_ms" &
623+
perf stat $PERF_STAT_ARGS -p "$SERVER_PID" -o "$output_file" -D "$profiling_delay_ms" --timeout "$profiling_duration_ms" &
623624
PERF_STAT_PID=$!
624625

625626
log "perf stat running (PID: $PERF_STAT_PID) after ${PROFILING_DELAY_SECONDS}s for ${PROFILING_DURATION_SECONDS}s"
@@ -756,6 +757,7 @@ print_config() {
756757
log " Enabled: $ENABLE_PERF_STAT"
757758
if [[ "$ENABLE_PERF_STAT" == "true" ]]; then
758759
log " Output: $PERF_STAT_OUTPUT"
760+
log " Extra Args: ${PERF_STAT_ARGS:-<none>}"
759761
fi
760762
log ""
761763
log "Output Directory: $OUTPUT_DIR"
@@ -840,6 +842,7 @@ pidstat:
840842
perf stat:
841843
ENABLE_PERF_STAT Enable perf stat collection (default: false)
842844
PERF_STAT_OUTPUT Output file (default: perf-stat.txt)
845+
PERF_STAT_ARGS Extra perf stat arguments (default: empty)
843846
844847
General:
845848
JAVA_HOME Path to Java installation (required)

0 commit comments

Comments
 (0)