Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions lib/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
These are third party utilities that we use in our testing.

**jfr-converter.jar** Used to convert from JFR format to other formats. Downloaded from https://github.com/async-profiler/async-profiler/blob/master/docs/JfrVisualization.md
Binary file added lib/jfr-converter.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion src/scripts/appfuncs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ function start_app() {
preamble=("taskset" "-c" "$TEST_DRIVER_CPUS")

if [[ -n "${ASYNC_PROFILER}" ]]; then
TEST_JAVA_OPTS="${TEST_JAVA_OPTS} -agentpath:${ASYNC_PROFILER}=start,event=cpu,file=${TEST_OUT_DIR}/${results_name}-profile.html"
TEST_JAVA_OPTS="${TEST_JAVA_OPTS} -agentpath:${ASYNC_PROFILER}=start,event=cpu,file=${TEST_OUT_DIR}/${results_name}-profile.jfr"
fi
fi

Expand Down
13 changes: 13 additions & 0 deletions src/scripts/testfuncs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ function _run_test() {
# don't exit on error yet!

_run_command_for_test "app" "Stopping test application for" "stop" "${name}" || result=$?

generate_profiling_results ${name}

return $result
}

Expand Down Expand Up @@ -80,6 +83,7 @@ function _run_test_suite_after() {

local result=0
_run_command_for_suite "app" "Stopping test application for" "stop" || result=$?

# don't exit on error yet!
_run_command_for_suite "infra" "Stopping infrastructure for" "stop" || result=$?
return $result
Expand All @@ -104,3 +108,12 @@ function _run_test_suite_last() {
_run_command_for_suite "infra" "Stopping initial infrastructure for" "last" || result=$?
return $result
}

function generate_profiling_results() {
local name=${1:-}
# If we have JFR files, process them
java -jar lib/jfr-converter.jar ${TEST_OUT_DIR}/${name}-profile.jfr ${TEST_OUT_DIR}/${name}-profile.html
java -jar lib/jfr-converter.jar --output=tree ${TEST_OUT_DIR}/${name}-profile.jfr ${TEST_OUT_DIR}/${name}-profile-tree.html
java -jar lib/jfr-converter.jar ${TEST_OUT_DIR}/${name}-profile.jfr ${TEST_OUT_DIR}/${name}-profile.otlp
java -jar lib/jfr-converter.jar ${TEST_OUT_DIR}/${name}-profile.jfr ${TEST_OUT_DIR}/${name}-profile.pprof
}
2 changes: 1 addition & 1 deletion src/scripts/tests/sqpc/quarkus-native/app.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ function start_app_native() {
local preamble=""
if [[ -v HARDWARE_CONFIGURED && "$HARDWARE_CONFIGURED" == true ]]; then
export LD_PRELOAD=${ASYNC_PROFILER}
export ASPROF_COMMAND=start,event=cpu,file=${TEST_OUT_DIR}/${results_name}-profile.html
export ASPROF_COMMAND=start,event=cpu,file=${TEST_OUT_DIR}/${results_name}-profile.jfr
preamble="taskset -c $TEST_DRIVER_CPUS "
fi

Expand Down