From 521c3e7db528f491f3c6489888b4cdf41017bc49 Mon Sep 17 00:00:00 2001
From: Reiner Jung <reiner.jung@email.uni-kiel.de>
Date: Wed, 3 Aug 2022 11:10:10 +0200
Subject: [PATCH] Fixed benchmark.

---
 .gitignore                                    |  3 ++-
 benchmark/build.gradle                        | 27 +++----------------
 frameworks/Kieker/benchmark.sh                |  5 ++--
 frameworks/Kieker/config.rc                   |  3 ++-
 frameworks/Kieker/functions.sh                | 14 +++++-----
 .../Kieker/{src/META-INF => }/kieker.aop.xml  |  0
 frameworks/common-functions.sh                |  6 +++--
 7 files changed, 22 insertions(+), 36 deletions(-)
 rename frameworks/Kieker/{src/META-INF => }/kieker.aop.xml (100%)

diff --git a/.gitignore b/.gitignore
index fa3c4b8..8f8dcd9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,8 @@
 
 # Ignore Gradle project-specific cache directory
 **/.gradle/**
-
+/receiver
+/benchmark
 .classpath
 .settings
 **/.classpath
diff --git a/benchmark/build.gradle b/benchmark/build.gradle
index b4d09c8..8f1b6e7 100644
--- a/benchmark/build.gradle
+++ b/benchmark/build.gradle
@@ -7,6 +7,10 @@ dependencies {
     implementation 'com.beust:jcommander:1.72'
 }
 
+application {
+    mainClass = 'moobench.benchmark.BenchmarkMain'
+}
+
 jar {
     manifest {
         attributes 'Implementation-Title': 'Moobench Benchmark',
@@ -19,27 +23,4 @@ jar {
     from {
         configurations.runtimeClasspath.findAll { it.name.endsWith('jar') }.collect { zipTree(it) }
     }
-	
-    doLast {
-        copy {
-            from jar
-            into "../frameworks/SPASSmeter/"
-            rename('benchmark.jar', 'MooBench.jar')
-	}
-        copy {
-            from jar
-            into "../frameworks/OpenTelemetry/"
-            rename('benchmark.jar', 'MooBench.jar')
-        }
-        copy {
-            from jar
-            into "../frameworks/inspectIT/"
-            rename('benchmark.jar', 'MooBench.jar')
-        }
-        copy {
-            from jar
-            into "../frameworks/Kieker/"
-            rename('benchmark.jar', 'MooBench.jar')
-        }
-    }
 }
diff --git a/frameworks/Kieker/benchmark.sh b/frameworks/Kieker/benchmark.sh
index e96e510..b705076 100755
--- a/frameworks/Kieker/benchmark.sh
+++ b/frameworks/Kieker/benchmark.sh
@@ -91,8 +91,9 @@ checkFile Labels "${BASE_DIR}/labels.sh"
 checkFile R-script "${RSCRIPT_PATH}"
 checkDirectory results-directory "${RESULTS_DIR}" recreate
 checkFile log "${DATA_DIR}/kieker.log" clean
-checkFile MooBench "${BASE_DIR}/MooBench.jar"
 checkExecutable java "${JAVA_BIN}"
+checkExecutable moobench "${MOOBENCH_BIN}"
+checkFile aop-file "${AOP}"
 
 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} `
 info "Experiment will take circa ${TIME} seconds."
@@ -101,7 +102,7 @@ info "Experiment will take circa ${TIME} seconds."
 JAVA_ARGS="-server"
 JAVA_ARGS="${JAVA_ARGS} -Xms1G -Xmx2G"
 
-LTW_ARGS="-javaagent:${AGENT} -Dorg.aspectj.weaver.showWeaveInfo=true -Daj.weaving.verbose=true -Dkieker.monitoring.skipDefaultAOPConfiguration=true -Dorg.aspectj.weaver.loadtime.configuration=${AOP}"
+LTW_ARGS="-javaagent:${AGENT} --illegal-access=permit -Dorg.aspectj.weaver.showWeaveInfo=true -Daj.weaving.verbose=true -Dkieker.monitoring.skipDefaultAOPConfiguration=true -Dorg.aspectj.weaver.loadtime.configuration=file://${AOP}"
 
 KIEKER_ARGS="-Dlog4j.configuration=log4j.cfg -Dkieker.monitoring.name=KIEKER-BENCHMARK -Dkieker.monitoring.adaptiveMonitoring.enabled=false -Dkieker.monitoring.periodicSensorsExecutorPoolSize=0"
 
diff --git a/frameworks/Kieker/config.rc b/frameworks/Kieker/config.rc
index 1febf6c..ae71c4b 100644
--- a/frameworks/Kieker/config.rc
+++ b/frameworks/Kieker/config.rc
@@ -5,11 +5,12 @@
 JAVA_BIN="/usr/bin/java"
 
 RSCRIPT_PATH="${BASE_DIR}/stats.csv.r"
+MOOBENCH_BIN="${BASE_DIR}/../../benchmark/bin/benchmark"
 
 DATA_DIR="${BASE_DIR}/data"
 AGENT="${BASE_DIR}/kieker-2.0.0-SNAPSHOT-aspectj.jar"
 
 # in-jar locations
-AOP="file:"$(pwd)"/src/META-INF/kieker.aop.xml"
+AOP="${BASE_DIR}/kieker.aop.xml"
 
 # end
diff --git a/frameworks/Kieker/functions.sh b/frameworks/Kieker/functions.sh
index b514bf2..89aacc0 100644
--- a/frameworks/Kieker/functions.sh
+++ b/frameworks/Kieker/functions.sh
@@ -40,21 +40,21 @@ function executeExperiment() {
     info " # recursion=${recursion} loop=${loop} writer=${index} ${title}"
     echo " # ${loop}.${recursion}.${index} ${title}" >> "${DATA_DIR}/kieker.log"
 
-    if [  "${kieker_parameters}" = "" ] ; then
-       BENCHMARK_OPTS="${JAVA_ARGS}"
+    if [  "${kieker_parameters}" == "" ] ; then
+       export BENCHMARK_OPTS="${JAVA_ARGS}"
     else
-       BENCHMARK_OPTS="${JAVA_ARGS} ${LTW_ARGS} ${KIEKER_ARGS} ${kieker_parameters}"
+       export BENCHMARK_OPTS="${JAVA_ARGS} ${LTW_ARGS} ${KIEKER_ARGS} ${kieker_parameters}"
     fi
 
-    debug "Run options: ${BENCHMARK_OPTS} -jar MooBench.jar"
+    debug "Run options: ${BENCHMARK_OPTS}"
 
-    "${JAVA_BIN}" ${BENCHMARK_OPTS} -jar "${BASE_DIR}/MooBench.jar" \
+    "${MOOBENCH_BIN}" \
 	--application moobench.application.MonitoredClassSimple \
         --output-filename "${RAWFN}-${loop}-${recursion}-${index}.csv" \
         --total-calls "${TOTAL_NUM_OF_CALLS}" \
         --method-time "${METHOD_TIME}" \
         --total-threads 1 \
-        --recursion-depth "${recursion}" #&> "${RESULTS_DIR}/output_${loop}_${RECURSION_DEPTH}_${index}.txt"
+        --recursion-depth "${recursion}" &> "${RESULTS_DIR}/output_${loop}_${RECURSION_DEPTH}_${index}.txt"
 
     rm -rf "${DATA_DIR}"/kieker-*
 
@@ -71,7 +71,7 @@ function executeBenchmarkBody() {
   recursion="$3"
   if [[ "${RECEIVER[$index]}" ]] ; then
      echo "receiver ${RECEIVER[$index]}"
-     ${RECEIVER[$index]} >> "${DATA_DIR}/kieker.receiver-${i}-${index}.log" &
+     ${RECEIVER[$index]} >> "${DATA_DIR}/kieker.receiver-${loop}-${index}.log" &
      RECEIVER_PID=$!
      echo "PID $RECEIVER_PID"
   fi
diff --git a/frameworks/Kieker/src/META-INF/kieker.aop.xml b/frameworks/Kieker/kieker.aop.xml
similarity index 100%
rename from frameworks/Kieker/src/META-INF/kieker.aop.xml
rename to frameworks/Kieker/kieker.aop.xml
diff --git a/frameworks/common-functions.sh b/frameworks/common-functions.sh
index 05c5080..d0bf2e1 100755
--- a/frameworks/common-functions.sh
+++ b/frameworks/common-functions.sh
@@ -125,10 +125,12 @@ if [ "$BATCH_MODE" == "yes" ] ; then
 	export ERROR="[error]"
 	export WARNING="[warning]"
 	export INFO="[info]"
+	export DEBUG_INFO="[debug]"
 else
 	export ERROR="${RED}[error]${NC}"
 	export WARNING="${YELLOW}[warning]${NC}"
 	export INFO="${WHITE}[info]${NC}"
+	export DEBUG_INFO="${WHITE}[debug]${NC}"
 fi
 
 function error() {
@@ -144,8 +146,8 @@ function info() {
 }
 
 function debug() {
-	if [ "$DEBUG" == "yes" ] ; then
-		echo -e "${INFO} $@"
+	if [ "${DEBUG}" == "yes" ] ; then
+		echo -e "${DEBUG_INFO} $@"
 	fi
 }
 
-- 
GitLab