SamBarker commented on code in PR #90:
URL: https://github.com/apache/flink-benchmarks/pull/90#discussion_r1618157436


##########
benchmark.sh:
##########
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+
+JAVA_ARGS=()
+JMH_ARGS=()
+BINARY="java"
+BENCHMARK_PATTERN=
+
+while getopts ":j:c:b:e:p:a:m:h" opt; do
+  case $opt in
+    j) JAVA_ARGS+=("${OPTARG}")
+    ;;
+    c) CLASSPATH_ARG="${OPTARG}"
+    ;;
+    b) BINARY="${OPTARG}"
+    ;;
+    p) PROFILER_ARG="${OPTARG:+-prof ${OPTARG}}"
+    # conditional prefixing inspired by 
https://stackoverflow.com/a/40771884/1389220
+    ;;
+    a) JMH_ARGS+=("${OPTARG}")
+    ;;
+    e) BENCHMARK_EXCLUDES="${OPTARG:+-e ${OPTARG}}"
+    ;;
+    m) BENCHMARK_PATTERN="${OPTARG}"
+      echo "parsing -m"
+    ;;
+    h)
+      1>&2 cat << EOF
+usage: TODO
+EOF
+      exit 1
+    ;;
+    \?) echo "Invalid option -$opt ${OPTARG}" >&2
+    exit 1
+    ;;
+  esac
+done
+shift "$(($OPTIND -1))"

Review Comment:
   I had a go at doing it in python 
https://github.com/SamBarker/flink-benchmarks/blob/generate-flamegraphs-py/run-benchmarks.py
 life got quite funky trying to pass `--add-opens` to something that actually 
understood long arguments. 
   
   I can merge that into this PR if preferred but I'm not sure it actually 
improves things here. 
   
   The other option might be to look at 
[ap-loader](https://github.com/jvm-profiling-tools/ap-loader) which would allow 
us to ensure that the native libraries are available.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to