Skip to content
Snippets Groups Projects
Commit 5690df43 authored by Reiner Jung's avatar Reiner Jung
Browse files

Updated scripts.

parent 886c303d
No related branches found
No related tags found
No related merge requests found
...@@ -18,7 +18,7 @@ if [ ! -d "${BASE_DIR}" ] ; then ...@@ -18,7 +18,7 @@ if [ ! -d "${BASE_DIR}" ] ; then
fi fi
# load configuration and common functions # load configuration and common functions
if [ -f "${BASE_DIR}/config" ] ; then if [ -f "${BASE_DIR}/config.rc" ] ; then
source "${BASE_DIR}/config.rc" source "${BASE_DIR}/config.rc"
else else
echo "Missing configuration: ${BASE_DIR}/config.rc" echo "Missing configuration: ${BASE_DIR}/config.rc"
......
#!/bin/bash #!/bin/bash
# #
# Kieker benchmark script # OpenTelemetry benchmark script
# #
# Usage: benchmark.sh [execute|test] # Usage: benchmark.sh
# configure base dir # configure base dir
BASE_DIR=$(cd "$(dirname "$0")"; pwd) BASE_DIR=$(cd "$(dirname "$0")"; pwd)
...@@ -18,7 +18,7 @@ if [ ! -d "${BASE_DIR}" ] ; then ...@@ -18,7 +18,7 @@ if [ ! -d "${BASE_DIR}" ] ; then
fi fi
# load configuration and common functions # load configuration and common functions
if [ -f "${BASE_DIR}/config" ] ; then if [ -f "${BASE_DIR}/config.rc" ] ; then
source "${BASE_DIR}/config.rc" source "${BASE_DIR}/config.rc"
else else
echo "Missing configuration: ${BASE_DIR}/config.rc" echo "Missing configuration: ${BASE_DIR}/config.rc"
...@@ -60,6 +60,7 @@ checkFile log "${BASE_DIR}/OpenTelemetry.log" clean ...@@ -60,6 +60,7 @@ checkFile log "${BASE_DIR}/OpenTelemetry.log" clean
checkDirectory results-directory "${RESULTS_DIR}" recreate checkDirectory results-directory "${RESULTS_DIR}" recreate
checkExecutable java "${JAVA_BIN}" checkExecutable java "${JAVA_BIN}"
checkFile R-script "${RSCRIPT_PATH}" checkFile R-script "${RSCRIPT_PATH}"
checkFile opentelemetry-agent "${AGENT_JAR}"
TIME=`expr ${METHOD_TIME} \* ${TOTAL_NUM_OF_CALLS} / 1000000000 \* 4 \* ${RECURSION_DEPTH} \* ${NUM_OF_LOOPS} + ${SLEEP_TIME} \* 4 \* ${NUM_OF_LOOPS} \* ${RECURSION_DEPTH} + 50 \* ${TOTAL_NUM_OF_CALLS} / 1000000000 \* 4 \* ${RECURSION_DEPTH} \* ${NUM_OF_LOOPS} ` TIME=`expr ${METHOD_TIME} \* ${TOTAL_NUM_OF_CALLS} / 1000000000 \* 4 \* ${RECURSION_DEPTH} \* ${NUM_OF_LOOPS} + ${SLEEP_TIME} \* 4 \* ${NUM_OF_LOOPS} \* ${RECURSION_DEPTH} + 50 \* ${TOTAL_NUM_OF_CALLS} / 1000000000 \* 4 \* ${RECURSION_DEPTH} \* ${NUM_OF_LOOPS} `
...@@ -69,10 +70,10 @@ JAVA_ARGS="-server" ...@@ -69,10 +70,10 @@ JAVA_ARGS="-server"
JAVA_ARGS="${JAVA_ARGS} " JAVA_ARGS="${JAVA_ARGS} "
JAVA_ARGS="${JAVA_ARGS} -Xms1G -Xmx2G" JAVA_ARGS="${JAVA_ARGS} -Xms1G -Xmx2G"
JAVA_ARGS="${JAVA_ARGS} -verbose:gc " JAVA_ARGS="${JAVA_ARGS} -verbose:gc "
JAR="-jar MooBench.jar" JAR="-jar ${BASE_DIR}/MooBench.jar"
JAVA_ARGS_NOINSTR="${JAVA_ARGS}" JAVA_ARGS_NOINSTR="${JAVA_ARGS}"
JAVA_ARGS_OPENTELEMETRY_BASIC="${JAVA_ARGS} -javaagent:${BASE_DIR}/lib/opentelemetry-javaagent-all.jar -Dotel.resource.attributes=service.name=moobench -Dotel.instrumentation.methods.include=moobench.application.MonitoredClassSimple[monitoredMethod];moobench.application.MonitoredClassThreaded[monitoredMethod]" JAVA_ARGS_OPENTELEMETRY_BASIC="${JAVA_ARGS} -javaagent:${AGENT_JAR} -Dotel.resource.attributes=service.name=moobench -Dotel.instrumentation.methods.include=moobench.application.MonitoredClassSimple[monitoredMethod];moobench.application.MonitoredClassThreaded[monitoredMethod]"
JAVA_ARGS_OPENTELEMETRY_LOGGING_DEACTIVATED="${JAVA_ARGS_OPENTELEMETRY_BASIC} -Dotel.traces.exporter=logging -Dotel.traces.sampler=always_off" JAVA_ARGS_OPENTELEMETRY_LOGGING_DEACTIVATED="${JAVA_ARGS_OPENTELEMETRY_BASIC} -Dotel.traces.exporter=logging -Dotel.traces.sampler=always_off"
JAVA_ARGS_OPENTELEMETRY_LOGGING="${JAVA_ARGS_OPENTELEMETRY_BASIC} -Dotel.traces.exporter=logging" JAVA_ARGS_OPENTELEMETRY_LOGGING="${JAVA_ARGS_OPENTELEMETRY_BASIC} -Dotel.traces.exporter=logging"
JAVA_ARGS_OPENTELEMETRY_ZIPKIN="${JAVA_ARGS_OPENTELEMETRY_BASIC} -Dotel.traces.exporter=zipkin -Dotel.metrics.exporter=none" JAVA_ARGS_OPENTELEMETRY_ZIPKIN="${JAVA_ARGS_OPENTELEMETRY_BASIC} -Dotel.traces.exporter=zipkin -Dotel.metrics.exporter=none"
...@@ -81,11 +82,19 @@ JAVA_ARGS_OPENTELEMETRY_PROMETHEUS="${JAVA_ARGS_OPENTELEMETRY_BASIC} -Dotel.trac ...@@ -81,11 +82,19 @@ JAVA_ARGS_OPENTELEMETRY_PROMETHEUS="${JAVA_ARGS_OPENTELEMETRY_BASIC} -Dotel.trac
writeConfiguration writeConfiguration
#
# Run benchmark
#
info "----------------------------------"
info "Running benchmark..."
info "----------------------------------"
## Execute Benchmark ## Execute Benchmark
for ((i=1;i<=${NUM_OF_LOOPS};i+=1)); do for ((i=1;i<=${NUM_OF_LOOPS};i+=1)); do
k=0 k=0
info "## Starting iteration ${i}/${NUM_OF_LOOPS}" info "## Starting iteration ${i}/${NUM_OF_LOOPS}"
echo "## Starting iteration ${i}/${NUM_OF_LOOPS}" >>${BASE_DIR}/OpenTelemetry.log echo "## Starting iteration ${i}/${NUM_OF_LOOPS}" >> "${BASE_DIR}/OpenTelemetry.log"
runNoInstrumentation runNoInstrumentation
cleanup cleanup
......
# OpenTelementry configuraiton # OpenTelementry configuration
JAVA_BIN="/usr/bin/java" JAVA_BIN="/usr/bin/java"
RSCRIPT_PATH="../stats.csv.r" RSCRIPT_PATH="../stats.csv.r"
AGENT_JAR="${BASE_DIR}/lib/opentelemetry-javaagent.jar"
#MORE_PARAMS="--quickstart" #MORE_PARAMS="--quickstart"
MORE_PARAMS="--application moobench.application.MonitoredClassSimple ${MORE_PARAMS}" MORE_PARAMS="--application moobench.application.MonitoredClassSimple ${MORE_PARAMS}"
......
...@@ -12,7 +12,7 @@ function getAgent() { ...@@ -12,7 +12,7 @@ function getAgent() {
if [ ! -f "${BASE_DIR}/lib/opentelemetry-javaagent.jar" ] if [ ! -f "${BASE_DIR}/lib/opentelemetry-javaagent.jar" ]
then then
mkdir -p "${BASE_DIR}/lib" mkdir -p "${BASE_DIR}/lib"
wget --output-document="${BASE_DIR}/lib/opentelemetry-javaagent.jar" \ wget --output-document="${AGENT_JAR}" \
https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
fi fi
} }
...@@ -26,7 +26,7 @@ function startJaeger { ...@@ -26,7 +26,7 @@ function startJaeger {
fi fi
cd "${BASE_DIR}/jaeger-1.24.0-linux-amd64" cd "${BASE_DIR}/jaeger-1.24.0-linux-amd64"
./jaeger-all-in-one &> jaeger.log & "${BASE_DIR}/jaeger-1.24.0-linux-amd64/jaeger-all-in-one" &> "${BASE_DIR}/jaeger-1.24.0-linux-amd64/jaeger.log" &
cd "${BASE_DIR}" cd "${BASE_DIR}"
} }
...@@ -55,7 +55,7 @@ function runOpenTelemetryNoLogging { ...@@ -55,7 +55,7 @@ function runOpenTelemetryNoLogging {
# OpenTelemetry Instrumentation Logging Deactivated # OpenTelemetry Instrumentation Logging Deactivated
k=`expr ${k} + 1` k=`expr ${k} + 1`
info " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} info " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]}
echo " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} >>${BASE_DIR}/OpenTelemetry.log echo " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} >> "${BASE_DIR}/OpenTelemetry.log"
${JAVA_BIN} ${JAVA_ARGS_OPENTELEMETRY_LOGGING_DEACTIVATED} ${JAR} \ ${JAVA_BIN} ${JAVA_ARGS_OPENTELEMETRY_LOGGING_DEACTIVATED} ${JAR} \
--output-filename "${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv" \ --output-filename "${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv" \
--total-calls ${TOTAL_NUM_OF_CALLS} \ --total-calls ${TOTAL_NUM_OF_CALLS} \
...@@ -89,7 +89,7 @@ function runOpenTelemetryZipkin { ...@@ -89,7 +89,7 @@ function runOpenTelemetryZipkin {
k=`expr ${k} + 1` k=`expr ${k} + 1`
startZipkin startZipkin
info " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} info " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]}
echo " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} >>${BASE_DIR}/OpenTelemetry.log echo " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} >> "${BASE_DIR}/OpenTelemetry.log"
${JAVA_BIN} ${JAVA_ARGS_OPENTELEMETRY_ZIPKIN} ${JAR} \ ${JAVA_BIN} ${JAVA_ARGS_OPENTELEMETRY_ZIPKIN} ${JAR} \
--output-filename ${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv \ --output-filename ${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv \
--total-calls ${TOTAL_NUM_OF_CALLS} \ --total-calls ${TOTAL_NUM_OF_CALLS} \
...@@ -106,7 +106,7 @@ function runOpenTelemetryJaeger { ...@@ -106,7 +106,7 @@ function runOpenTelemetryJaeger {
k=`expr ${k} + 1` k=`expr ${k} + 1`
startJaeger startJaeger
info " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} info " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]}
echo " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} >>${BASE_DIR}/OpenTelemetry.log echo " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} >> "${BASE_DIR}/OpenTelemetry.log"
${JAVA_BIN} ${JAVA_ARGS_OPENTELEMETRY_JAEGER} ${JAR} \ ${JAVA_BIN} ${JAVA_ARGS_OPENTELEMETRY_JAEGER} ${JAR} \
--output-filename ${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv \ --output-filename ${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv \
--total-calls ${TOTAL_NUM_OF_CALLS} \ --total-calls ${TOTAL_NUM_OF_CALLS} \
...@@ -123,7 +123,7 @@ function runOpenTelemetryPrometheus { ...@@ -123,7 +123,7 @@ function runOpenTelemetryPrometheus {
k=`expr ${k} + 1` k=`expr ${k} + 1`
startPrometheus startPrometheus
info " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} info " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]}
echo " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} >>${BASE_DIR}/OpenTelemetry.log echo " # ${i}.$RECURSION_DEPTH.${k} "${TITLE[$k]} >> "${BASE_DIR}/OpenTelemetry.log"
${JAVA_BIN} ${JAVA_ARGS_OPENTELEMETRY_PROMETHEUS} ${JAR} \ ${JAVA_BIN} ${JAVA_ARGS_OPENTELEMETRY_PROMETHEUS} ${JAR} \
--output-filename ${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv \ --output-filename ${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv \
--total-calls ${TOTAL_NUM_OF_CALLS} \ --total-calls ${TOTAL_NUM_OF_CALLS} \
......
...@@ -57,18 +57,18 @@ EOF ...@@ -57,18 +57,18 @@ EOF
} }
function startZipkin { function startZipkin {
if [ ! -d zipkin ] || [ ! -f zipkin/zipkin.jar ] if [ ! -d "${BASE_DIR}/zipkin" ] || [ ! -f "${BASE_DIR}/zipkin/zipkin.jar" ]
then then
mkdir zipkin mkdir -p "${BASE_DIR}/zipkin"
cd zipkin cd "${BASE_DIR}/zipkin"
curl -sSL https://zipkin.io/quickstart.sh | bash -s curl -sSL https://zipkin.io/quickstart.sh | bash -s
else else
cd zipkin cd "${BASE_DIR}/zipkin"
fi fi
java -Xmx6g -jar zipkin.jar &> zipkin.txt & java -Xmx6g -jar "${BASE_DIR}/zipkin/zipkin.jar" &> "${BASE_DIR}/zipkin/zipkin.txt" &
pid=$! pid=$!
sleep 5 sleep 5
cd .. cd "${BASE_DIR}"
} }
function periodicallyCurlPrometheus { function periodicallyCurlPrometheus {
...@@ -90,18 +90,18 @@ function stopBackgroundProcess { ...@@ -90,18 +90,18 @@ function stopBackgroundProcess {
} }
function writeConfiguration() { function writeConfiguration() {
uname -a >${RESULTS_DIR}/configuration.txt uname -a > "${RESULTS_DIR}/configuration.txt"
${JAVA_BIN} ${JAVA_ARGS} -version 2 >> ${RESULTS_DIR}/configuration.txt ${JAVA_BIN} ${JAVA_ARGS} -version 2 >> "${RESULTS_DIR}/configuration.txt"
echo "JAVA_ARGS: ${JAVA_ARGS}" >> ${RESULTS_DIR}/configuration.txt echo "JAVA_ARGS: ${JAVA_ARGS}" >> "${RESULTS_DIR}/configuration.txt"
echo "" >> ${RESULTS_DIR}/configuration.txt echo "" >> "${RESULTS_DIR}/configuration.txt"
echo "Runtime: circa ${TIME} seconds" >> ${RESULTS_DIR}/configuration.txt echo "Runtime: circa ${TIME} seconds" >> "${RESULTS_DIR}/configuration.txt"
echo "" >> ${RESULTS_DIR}/configuration.txt echo "" >> "${RESULTS_DIR}/configuration.txt"
echo "SLEEP_TIME=${SLEEP_TIME}" >> ${RESULTS_DIR}/configuration.txt echo "SLEEP_TIME=${SLEEP_TIME}" >> "${RESULTS_DIR}/configuration.txt"
echo "NUM_OF_LOOPS=${NUM_OF_LOOPS}" >> ${RESULTS_DIR}/configuration.txt echo "NUM_OF_LOOPS=${NUM_OF_LOOPS}" >> "${RESULTS_DIR}/configuration.txt"
echo "TOTAL_NUM_OF_CALLS=${TOTAL_NUM_OF_CALLS}" >> ${RESULTS_DIR}/configuration.txt echo "TOTAL_NUM_OF_CALLS=${TOTAL_NUM_OF_CALLS}" >> "${RESULTS_DIR}/configuration.txt"
echo "METHOD_TIME=${METHOD_TIME}" >> ${RESULTS_DIR}/configuration.txt echo "METHOD_TIME=${METHOD_TIME}" >> "${RESULTS_DIR}/configuration.txt"
echo "THREADS=${THREADS}" >> ${RESULTS_DIR}/configuration.txt echo "THREADS=${THREADS}" >> "${RESULTS_DIR}/configuration.txt"
echo "RECURSION_DEPTH=${RECURSION_DEPTH}" >> ${RESULTS_DIR}/configuration.txt echo "RECURSION_DEPTH=${RECURSION_DEPTH}" >> "${RESULTS_DIR}/configuration.txt"
sync sync
} }
......
...@@ -18,7 +18,7 @@ if [ ! -d "${BASE_DIR}" ] ; then ...@@ -18,7 +18,7 @@ if [ ! -d "${BASE_DIR}" ] ; then
fi fi
# load configuration and common functions # load configuration and common functions
if [ -f "${BASE_DIR}/config" ] ; then if [ -f "${BASE_DIR}/config.rc" ] ; then
source "${BASE_DIR}/config.rc" source "${BASE_DIR}/config.rc"
else else
echo "Missing configuration: ${BASE_DIR}/config.rc" echo "Missing configuration: ${BASE_DIR}/config.rc"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment