Skip to content

Commit 2fe132a

Browse files
committed
[tuned] Upgrade to qDup 0.11.0
Upgrade qDup from 0.10.8 to 0.11.0 and adapt qDup scripts to the breaking change in sibling command output behavior. In qDup 0.11.0, sibling commands under `then:` and `else:` blocks now receive input from the parent command rather than from the previous sibling. Commands that depend on a preceding sibling's output (e.g. `set-state` capturing `sh` output) are nested under the sibling via `then:` to preserve correct data flow. Affected scripts: - main.yml: measure-build-times (8 sh+set-state pairs), run-load-test syncjfr section (1 sh+set-state pair) - sdkman.yml: sdkman-uninstall (1 sh+regex pair) Fixes #252 Assisted-By: Claude Code <noreply@anthropic.com> Signed-off-by: Eric Deandrea <eric.deandrea@ibm.com>
1 parent ed2f06b commit 2fe132a

3 files changed

Lines changed: 21 additions & 11 deletions

File tree

scripts/perf-lab/helpers/sdkman.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ scripts:
55
- regex: "no sdk in"
66
else:
77
- sh: whoami
8-
- regex: (?<me>.*)
8+
then:
9+
- regex: (?<me>.*)
910
- sh: "[[ -d /home/${{me}}/.sdkman ]] && rm -rf /home/${{me}}/.sdkman"
1011
- sh: sed -i 's/#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!.*//g' /home/${{me}}/.bashrc
1112
- sh: sed -i 's/export SDKMAN_DIR=.*//g' /home/${{me}}/.bashrc

scripts/perf-lab/main.yml

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,8 @@ scripts:
429429
- regex: native
430430
then:
431431
- sh: "sed -n 's/.*Peak RSS: \\([0-9.]*\\)\\(GB\\|GiB\\).*/\\1/p' ${{REPO_DIR}}/logs/build-times-${{RUNTIMECMD.name}}-${{ITERATION}}.log"
432-
- set-state: NATIVE_BUILD_RSS
432+
then:
433+
- set-state: NATIVE_BUILD_RSS
433434
- script: state-array-push
434435
with:
435436
array: RUN.output.results.${{RUNTIMECMD.name}}.build.native.rss
@@ -452,31 +453,38 @@ scripts:
452453
# The following metrics should be the same in all test iterations, so just pick the 1st
453454
# Capture the binary size
454455
- sh: "sed -n 's/^[[:space:]]*\\([0-9.]*\\)\\(MB\\|MiB\\) in total image size.*/\\1/p' ${{REPO_DIR}}/logs/build-times-${{RUNTIMECMD.name}}-0.log"
455-
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.native.binarySize
456+
then:
457+
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.native.binarySize
456458

457459
# Capture the number of classes
458460
- sh: "cat ${{REPO_DIR}}/logs/build-times-${{RUNTIMECMD.name}}-0.log | grep \"types.*fields.*methods found reachable\" | awk '{print $1}'"
459-
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.classCount
461+
then:
462+
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.classCount
460463

461464
# Capture the number of fields
462465
- sh: "cat ${{REPO_DIR}}/logs/build-times-${{RUNTIMECMD.name}}-0.log | grep \"types.*fields.*methods found reachable\" | awk '{print $3}'"
463-
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.fieldCount
466+
then:
467+
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.fieldCount
464468

465469
# Capture the number of methods
466470
- sh: "cat ${{REPO_DIR}}/logs/build-times-${{RUNTIMECMD.name}}-0.log | grep \"types.*fields.*methods found reachable\" | awk '{print $6}'"
467-
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.methodCount
471+
then:
472+
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.methodCount
468473

469474
# Capture the number of classes registered for reflection
470475
- sh: "cat ${{REPO_DIR}}/logs/build-times-${{RUNTIMECMD.name}}-0.log | grep \"types.*fields.*methods registered for reflection\" | awk '{print $1}'"
471-
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.reflectionClassCount
476+
then:
477+
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.reflectionClassCount
472478

473479
# Capture the number of fields registered for reflection
474480
- sh: "cat ${{REPO_DIR}}/logs/build-times-${{RUNTIMECMD.name}}-0.log | grep \"types.*fields.*methods registered for reflection\" | awk '{print $3}'"
475-
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.reflectionFieldCount
481+
then:
482+
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.reflectionFieldCount
476483

477484
# Capture the number of methods registered for reflection
478485
- sh: "cat ${{REPO_DIR}}/logs/build-times-${{RUNTIMECMD.name}}-0.log | grep \"types.*fields.*methods registered for reflection\" | awk '{print $6}'"
479-
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.reflectionMethodCount
486+
then:
487+
- set-state: RUN.output.results.${{RUNTIMECMD.name}}.build.reflectionMethodCount
480488

481489
measure-time-to-first-request:
482490
- log: Measuring Time to first request
@@ -573,7 +581,8 @@ scripts:
573581
then:
574582
- queue-download: ${{REPO_DIR}}/logs/jfr.${{RUNTIMECMD.name}}-${{ITERATION}}.jfr
575583
- sh: echo "${{RUNTIMECMD.runCmd}}" | sed 's#-jar#-XX:StartFlightRecording=filename=${{REPO_DIR}}/logs/jfr.${{RUNTIMECMD.name}}-${{ITERATION}}.jfr,settings=profile,dumponexit=true -jar#'
576-
- set-state: SYNCJFR_RUN_CMD
584+
then:
585+
- set-state: SYNCJFR_RUN_CMD
577586
- sh: ${{SYNCJFR_RUN_CMD}} &>${{LOG_FILE}} &
578587
else:
579588
- sh: ${{RUNTIMECMD.runCmd}} &>${{LOG_FILE}} &

scripts/perf-lab/run-benchmarks.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ run_benchmarks() {
260260

261261
# jbang qDup@hyperfoil --trace="target" \
262262

263-
${JBANG_CMD} io.hyperfoil.tools:qDup:0.10.8 \
263+
${JBANG_CMD} io.hyperfoil.tools:qDup:0.11.0 \
264264
-B ${OUTPUT_DIR} \
265265
-ix \
266266
${EXTRA_QDUP_ARGS} \

0 commit comments

Comments
 (0)