diff --git a/Jenkinsfile b/Jenkinsfile index 84aa637c08d41ddc51ee760a033162a8070a04b2..2e0c55d09b26e2f30e99900ec7c6a1d8cadf8539 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,6 +5,9 @@ pipeline { agent { label "build-node8" } environment { + KEYSTORE = credentials('kieker-irl-key') + UPDATE_SITE_URL = "sftp://repo@repo.se.internal/var/www/html/moobench" + DOCKER_ARGS = '' } @@ -34,7 +37,7 @@ pipeline { stage('Run Benchmark') { steps { - sh 'frameworks/Kieker/scripts/run-benchmark.sh' + sh 'frameworks/Kieker/scripts/run-benchmark.sh ${KEYSTORE} ${UPDATE_SITE_URL}' } post { cleanup { diff --git a/frameworks/Kieker/scripts/config b/frameworks/Kieker/scripts/config index 055f7b1c1553f9c3e07825a5a541b3e883890689..647c4b4188e8b764200d04118839af4efdb9c072 100644 --- a/frameworks/Kieker/scripts/config +++ b/frameworks/Kieker/scripts/config @@ -17,10 +17,10 @@ BATCH_MODE="yes" AOP="kieker.aop.xml" # execution parameter -SLEEP_TIME=10 ## 30 -NUM_OF_LOOPS=10 ## 10 -RECURSION_DEPTH=10 ## 10 -TOTAL_NUM_OF_CALLS=20000 ## 2 000 000 +SLEEP_TIME=1 ## 30 +NUM_OF_LOOPS=1 #0 ## 10 +RECURSION_DEPTH=1 #0 ## 10 +TOTAL_NUM_OF_CALLS=20 #000 ## 2 000 000 METHOD_TIME=5 #00 ## 500000 # end diff --git a/frameworks/Kieker/scripts/run-benchmark.sh b/frameworks/Kieker/scripts/run-benchmark.sh index d9746a3d9aedd83422db9cbf82905854d7eb38f8..4b9a595d8da53e023d561a4c5bbee0b5cca1eed5 100755 --- a/frameworks/Kieker/scripts/run-benchmark.sh +++ b/frameworks/Kieker/scripts/run-benchmark.sh @@ -16,7 +16,24 @@ else exit 1 fi -NUM_OF_REPEATS=1 +# parse parameters + +if [ -f "$1" ] ; then + KEYSTORE="$1" +else + echo "Missing key" + exit 1 +fi + +if [ "$2" != "" ] ; then + URL="$2" +else + echo "Missing URL" + exit 1 +fi + +## setup + export RESULT_FILE="${BASE_DIR}/results-kieker/results-text.csv" COLLECTED_DATA_FILE="${BASE_DIR}/results.csv" BENCHMARK="${BASE_DIR}/benchmark.sh" @@ -31,25 +48,28 @@ tar -xvpf ${BASE_DIR}/../../../benchmark/build/distributions/benchmark.tar curl "https://oss.sonatype.org/service/local/repositories/snapshots/content/net/kieker-monitoring/kieker/1.15-SNAPSHOT/kieker-1.15-20201102.131525-117-aspectj.jar" > "${AGENT}" # copy receiver tar -xvpf ${BASE_DIR}/../../../tools/receiver/build/distributions/receiver.tar +# copy result compiler +tar -xvpf ${BASE_DIR}/../../../tools/compile-results/build/distributions/compile-results.tar +# Create benchmark results mkdir -p ${BASE_DIR}/results-kieker rm -f ${COLLECTED_DATA_FILE} -## run loop -for ((v=1;v<=${NUM_OF_REPEATS};v+=1)); do - echo "++++++++++++++++++++++++++" - echo "Rerun $v" - echo "++++++++++++++++++++++++++" - ${BENCHMARK} # > /dev/null 2>&1 - HEAD=`head -1 $RESULT_FILE` - VALUE=`tail -1 $RESULT_FILE` - if [ -f "${COLLECTED_DATA_FILE}" ] ; then - echo "$VALUE" >> ${COLLECTED_DATA_FILE} - else - echo "$HEAD" > ${COLLECTED_DATA_FILE} - echo "$VALUE" >> ${COLLECTED_DATA_FILE} - fi -done +## running the benchmark +${BENCHMARK} # > /dev/null 2>&1 +HEAD=`head -1 $RESULT_FILE` +VALUE=`tail -1 $RESULT_FILE` + +## summary results + +## fetch old results +sftp -i "${KEYSTORE}" "${URL}/all-results.json" + +## compile results into json +${BASE_DIR}/compile-results/bin/compile-results "${BASE_DIR}/results-kieker/results-text.csv" "${BASE_DIR}/all-results.json" + +## push results +sftp -i "${KEYSTORE}" "${URL}/all-results.json" <<< $'put all-results.json' # end diff --git a/settings.gradle b/settings.gradle index c1326711af133b9b47c9c428f35df59942b74ad2..98876b3d01b443e01aeb54003fe717a5486ecbb7 100644 --- a/settings.gradle +++ b/settings.gradle @@ -11,6 +11,7 @@ rootProject.name = 'moobench' include 'benchmark' include 'tools:receiver' +include 'tools:compile-results' include 'frameworks:inspectIT' include 'frameworks:Kieker' include 'frameworks:SPASSmeter' diff --git a/tools/receiver/build.gradle b/tools/receiver/build.gradle index a25c25b9cf963816cac207b3322cc475304918e2..b777f15fea4f4a731d1b4d35dfc830ab4eb54e20 100644 --- a/tools/receiver/build.gradle +++ b/tools/receiver/build.gradle @@ -4,7 +4,7 @@ plugins { } application { - mainClass = 'moobench.tools.receiver.RecordReceiver' + mainClass = 'moobench.tools.receiver.RecordReceiverMain' } dependencies { diff --git a/tools/receiver/src/main/java/moobench/tools/receiver/RecordReceiver.java b/tools/receiver/src/main/java/moobench/tools/receiver/RecordReceiverMain.java similarity index 80% rename from tools/receiver/src/main/java/moobench/tools/receiver/RecordReceiver.java rename to tools/receiver/src/main/java/moobench/tools/receiver/RecordReceiverMain.java index fb48fa68ae7bab8c66e9e33dd065ddba0dbacdc0..0c4206a6fe6f271c66353356c4756d597bd80b3a 100644 --- a/tools/receiver/src/main/java/moobench/tools/receiver/RecordReceiver.java +++ b/tools/receiver/src/main/java/moobench/tools/receiver/RecordReceiverMain.java @@ -6,12 +6,12 @@ package moobench.tools.receiver; import teetime.framework.Execution; /** - * @author reiner + * @author Reiner Jung * */ -public class RecordReceiver { +public class RecordReceiverMain { - private RecordReceiver() {} + private RecordReceiverMain() {} public static void main(final String[] args) { ReceiverConfiguration config = new ReceiverConfiguration(Integer.parseInt(args[0]), 8192);