diff --git a/frameworks/Kieker/benchmark.sh b/frameworks/Kieker/benchmark.sh
index 0f5f41533e7ac498debe75066e653de61d2461c7..e96e5106883091d3e69b62da06f57268a325ace3 100755
--- a/frameworks/Kieker/benchmark.sh
+++ b/frameworks/Kieker/benchmark.sh
@@ -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"
diff --git a/frameworks/OpenTelemetry/benchmark.sh b/frameworks/OpenTelemetry/benchmark.sh
index 4d7087395c68687019110671fc7b8e83f8afa936..6859f6b8de9bc42618f0d521b1eeaea6abe9dbb0 100755
--- a/frameworks/OpenTelemetry/benchmark.sh
+++ b/frameworks/OpenTelemetry/benchmark.sh
@@ -1,9 +1,9 @@
 #!/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
diff --git a/frameworks/OpenTelemetry/config.rc b/frameworks/OpenTelemetry/config.rc
index b702812dadc7c7cf3c78fed1a8a1aaa77d633b03..8b463d2075703ee43894cc3a2018e945be6da38b 100644
--- a/frameworks/OpenTelemetry/config.rc
+++ b/frameworks/OpenTelemetry/config.rc
@@ -1,9 +1,11 @@
-# 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}"
 
diff --git a/frameworks/OpenTelemetry/functions.sh b/frameworks/OpenTelemetry/functions.sh
index 6da509b15cf42c484ff8e3e6be94e4ea13813395..5fb41bee553ebf2f4a301d69bda518f1c66e82fb 100644
--- a/frameworks/OpenTelemetry/functions.sh
+++ b/frameworks/OpenTelemetry/functions.sh
@@ -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} \
diff --git a/frameworks/common-functions.sh b/frameworks/common-functions.sh
index 0ddbdc5196aecb7ab615a388b75b86dc96c67743..2d9586833abd4abadb3c7dd8b4e04a980df10c26 100755
--- a/frameworks/common-functions.sh
+++ b/frameworks/common-functions.sh
@@ -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
 }
 
diff --git a/frameworks/inspectIT/benchmark.sh b/frameworks/inspectIT/benchmark.sh
index 54e981ccc45e9fc23b8b47ec13827d48df6331f3..5aa00027b2154b3be0316e38b1eadcf05d19b737 100755
--- a/frameworks/inspectIT/benchmark.sh
+++ b/frameworks/inspectIT/benchmark.sh
@@ -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"