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
fi
# load configuration and common functions
if [ -f "${BASE_DIR}/config" ] ; then
if [ -f "${BASE_DIR}/config.rc" ] ; then
source "${BASE_DIR}/config.rc"
else
echo "Missing configuration: ${BASE_DIR}/config.rc"
......
#!/bin/bash
#
# Kieker benchmark script
# OpenTelemetry benchmark script
#
# Usage: benchmark.sh [execute|test]
# Usage: benchmark.sh
# configure base dir
BASE_DIR=$(cd "$(dirname "$0")"; pwd)
......@@ -18,7 +18,7 @@ if [ ! -d "${BASE_DIR}" ] ; then
fi
# load configuration and common functions
if [ -f "${BASE_DIR}/config" ] ; then
if [ -f "${BASE_DIR}/config.rc" ] ; then
source "${BASE_DIR}/config.rc"
else
echo "Missing configuration: ${BASE_DIR}/config.rc"
......@@ -60,6 +60,7 @@ checkFile log "${BASE_DIR}/OpenTelemetry.log" clean
checkDirectory results-directory "${RESULTS_DIR}" recreate
checkExecutable java "${JAVA_BIN}"
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} `
......@@ -69,10 +70,10 @@ JAVA_ARGS="-server"
JAVA_ARGS="${JAVA_ARGS} "
JAVA_ARGS="${JAVA_ARGS} -Xms1G -Xmx2G"
JAVA_ARGS="${JAVA_ARGS} -verbose:gc "
JAR="-jar MooBench.jar"
JAR="-jar ${BASE_DIR}/MooBench.jar"
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="${JAVA_ARGS_OPENTELEMETRY_BASIC} -Dotel.traces.exporter=logging"
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
writeConfiguration
#
# Run benchmark
#
info "----------------------------------"
info "Running benchmark..."
info "----------------------------------"
## Execute Benchmark
for ((i=1;i<=${NUM_OF_LOOPS};i+=1)); do
k=0
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
cleanup
......
# OpenTelementry configuraiton
# OpenTelementry configuration
JAVA_BIN="/usr/bin/java"
RSCRIPT_PATH="../stats.csv.r"
AGENT_JAR="${BASE_DIR}/lib/opentelemetry-javaagent.jar"
#MORE_PARAMS="--quickstart"
MORE_PARAMS="--application moobench.application.MonitoredClassSimple ${MORE_PARAMS}"
......
......@@ -12,7 +12,7 @@ function getAgent() {
if [ ! -f "${BASE_DIR}/lib/opentelemetry-javaagent.jar" ]
then
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
fi
}
......@@ -26,7 +26,7 @@ function startJaeger {
fi
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}"
}
......@@ -55,7 +55,7 @@ function runOpenTelemetryNoLogging {
# OpenTelemetry Instrumentation Logging Deactivated
k=`expr ${k} + 1`
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} \
--output-filename "${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv" \
--total-calls ${TOTAL_NUM_OF_CALLS} \
......@@ -89,7 +89,7 @@ function runOpenTelemetryZipkin {
k=`expr ${k} + 1`
startZipkin
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} \
--output-filename ${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv \
--total-calls ${TOTAL_NUM_OF_CALLS} \
......@@ -106,7 +106,7 @@ function runOpenTelemetryJaeger {
k=`expr ${k} + 1`
startJaeger
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} \
--output-filename ${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv \
--total-calls ${TOTAL_NUM_OF_CALLS} \
......@@ -123,7 +123,7 @@ function runOpenTelemetryPrometheus {
k=`expr ${k} + 1`
startPrometheus
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} \
--output-filename ${RAWFN}-${i}-$RECURSION_DEPTH-${k}.csv \
--total-calls ${TOTAL_NUM_OF_CALLS} \
......
......@@ -57,18 +57,18 @@ EOF
}
function startZipkin {
if [ ! -d zipkin ] || [ ! -f zipkin/zipkin.jar ]
if [ ! -d "${BASE_DIR}/zipkin" ] || [ ! -f "${BASE_DIR}/zipkin/zipkin.jar" ]
then
mkdir zipkin
cd zipkin
mkdir -p "${BASE_DIR}/zipkin"
cd "${BASE_DIR}/zipkin"
curl -sSL https://zipkin.io/quickstart.sh | bash -s
else
cd zipkin
cd "${BASE_DIR}/zipkin"
fi
java -Xmx6g -jar zipkin.jar &> zipkin.txt &
java -Xmx6g -jar "${BASE_DIR}/zipkin/zipkin.jar" &> "${BASE_DIR}/zipkin/zipkin.txt" &
pid=$!
sleep 5
cd ..
cd "${BASE_DIR}"
}
function periodicallyCurlPrometheus {
......@@ -90,18 +90,18 @@ function stopBackgroundProcess {
}
function writeConfiguration() {
uname -a >${RESULTS_DIR}/configuration.txt
${JAVA_BIN} ${JAVA_ARGS} -version 2 >> ${RESULTS_DIR}/configuration.txt
echo "JAVA_ARGS: ${JAVA_ARGS}" >> ${RESULTS_DIR}/configuration.txt
echo "" >> ${RESULTS_DIR}/configuration.txt
echo "Runtime: circa ${TIME} seconds" >> ${RESULTS_DIR}/configuration.txt
echo "" >> ${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 "TOTAL_NUM_OF_CALLS=${TOTAL_NUM_OF_CALLS}" >> ${RESULTS_DIR}/configuration.txt
echo "METHOD_TIME=${METHOD_TIME}" >> ${RESULTS_DIR}/configuration.txt
echo "THREADS=${THREADS}" >> ${RESULTS_DIR}/configuration.txt
echo "RECURSION_DEPTH=${RECURSION_DEPTH}" >> ${RESULTS_DIR}/configuration.txt
uname -a > "${RESULTS_DIR}/configuration.txt"
${JAVA_BIN} ${JAVA_ARGS} -version 2 >> "${RESULTS_DIR}/configuration.txt"
echo "JAVA_ARGS: ${JAVA_ARGS}" >> "${RESULTS_DIR}/configuration.txt"
echo "" >> "${RESULTS_DIR}/configuration.txt"
echo "Runtime: circa ${TIME} seconds" >> "${RESULTS_DIR}/configuration.txt"
echo "" >> "${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 "TOTAL_NUM_OF_CALLS=${TOTAL_NUM_OF_CALLS}" >> "${RESULTS_DIR}/configuration.txt"
echo "METHOD_TIME=${METHOD_TIME}" >> "${RESULTS_DIR}/configuration.txt"
echo "THREADS=${THREADS}" >> "${RESULTS_DIR}/configuration.txt"
echo "RECURSION_DEPTH=${RECURSION_DEPTH}" >> "${RESULTS_DIR}/configuration.txt"
sync
}
......
......@@ -18,7 +18,7 @@ if [ ! -d "${BASE_DIR}" ] ; then
fi
# load configuration and common functions
if [ -f "${BASE_DIR}/config" ] ; then
if [ -f "${BASE_DIR}/config.rc" ] ; then
source "${BASE_DIR}/config.rc"
else
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