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

Updated benchmark.sh added readme

parent 7f96484a
No related branches found
No related tags found
No related merge requests found
...@@ -71,17 +71,16 @@ info "----------------------------------" ...@@ -71,17 +71,16 @@ info "----------------------------------"
getAgent getAgent
# Find receiver and extract it # Find receiver and extract it
RECEIVER_ARCHIVE="${BASE_DIR}/../../tools/receiver/build/distributions/receiver.tar"
if [ -f "${RECEIVER_ARCHIVE}" ] ; then checkFile receiver "${RECEIVER_ARCHIVE}"
tar -xpf "${RECEIVER_ARCHIVE}" tar -xpf "${RECEIVER_ARCHIVE}"
else RECEIVER_BIN="${BASE_DIR}/receiver/bin/receiver"
echo "Error receiver not found at ${RECEIVER_ARCHIVE}"
exit 1 checkFile moobench "${MOOBENCH_ARCHIVE}"
fi tar -xpf "${MOOBENCH_ARCHIVE}"
MOOBENCH_BIN="${BASE_DIR}/benchmark/bin/benchmark"
PARENT=`dirname "${RESULTS_DIR}"` PARENT=`dirname "${RESULTS_DIR}"`
RECEIVER_BIN="${BASE_DIR}/receiver/bin/receiver"
checkDirectory DATA_DIR "${DATA_DIR}" create checkDirectory DATA_DIR "${DATA_DIR}" create
checkDirectory result-base "${PARENT}" checkDirectory result-base "${PARENT}"
...@@ -93,14 +92,14 @@ checkDirectory results-directory "${RESULTS_DIR}" recreate ...@@ -93,14 +92,14 @@ checkDirectory results-directory "${RESULTS_DIR}" recreate
checkFile log "${DATA_DIR}/kieker.log" clean checkFile log "${DATA_DIR}/kieker.log" clean
checkExecutable java "${JAVA_BIN}" checkExecutable java "${JAVA_BIN}"
checkExecutable moobench "${MOOBENCH_BIN}" checkExecutable moobench "${MOOBENCH_BIN}"
checkExecutable receiver "${RECEIVER_BIN}"
checkFile aop-file "${AOP}" 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} ` 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." info "Experiment will take circa ${TIME} seconds."
# general server arguments # general server arguments
JAVA_ARGS="-server" JAVA_ARGS="-Xms1G -Xmx2G"
JAVA_ARGS="${JAVA_ARGS} -Xms1G -Xmx2G"
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}" 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}"
...@@ -121,7 +120,10 @@ WRITER_CONFIG[4]="-Dkieker.monitoring.enabled=true -Dkieker.monitoring.writer=ki ...@@ -121,7 +120,10 @@ WRITER_CONFIG[4]="-Dkieker.monitoring.enabled=true -Dkieker.monitoring.writer=ki
WRITER_CONFIG[5]="-Dkieker.monitoring.writer=kieker.monitoring.writer.tcp.SingleSocketTcpWriter -Dkieker.monitoring.writer.tcp.SingleSocketTcpWriter.port=2345" WRITER_CONFIG[5]="-Dkieker.monitoring.writer=kieker.monitoring.writer.tcp.SingleSocketTcpWriter -Dkieker.monitoring.writer.tcp.SingleSocketTcpWriter.port=2345"
RECEIVER[5]="${RECEIVER_BIN} 2345" RECEIVER[5]="${RECEIVER_BIN} 2345"
## Write configuration #
# Write configuration
#
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"
cat << EOF >> "${RESULTS_DIR}/configuration.txt" cat << EOF >> "${RESULTS_DIR}/configuration.txt"
......
...@@ -5,7 +5,11 @@ ...@@ -5,7 +5,11 @@
JAVA_BIN="/usr/bin/java" JAVA_BIN="/usr/bin/java"
RSCRIPT_PATH="${BASE_DIR}/stats.csv.r" RSCRIPT_PATH="${BASE_DIR}/stats.csv.r"
MOOBENCH_BIN="${BASE_DIR}/../../benchmark/bin/benchmark"
MAIN_DIR="${BASE_DIR}/../../.."
RECEIVER_ARCHIVE="${MAIN_DIR}/tools/receiver/build/distributions/receiver.tar"
BENCHMARK_ARCHIVE="${MAIN_DIR}/tools/benchmark/build/distributions/benchmark.tar"
DATA_DIR="${BASE_DIR}/data" DATA_DIR="${BASE_DIR}/data"
AGENT="${BASE_DIR}/kieker-2.0.0-SNAPSHOT-aspectj.jar" AGENT="${BASE_DIR}/kieker-2.0.0-SNAPSHOT-aspectj.jar"
......
# README
Usage:
--total-calls -c * Number of total method calls performed.
--method-time -m * Time a method call takes.
--total-threads -t * Number of threads started.
--recursion-depth -d * Depth of recursion performed.
--output-filename -o * Filename of results file. Output is appended if file exists.
--quickstart -q Skips initial garbage collection.
--force-terminate -f Forces a termination at the end of the benchmark.
--runnable -r Class implementing the Runnable interface. run() method is executed before the benchmark starts.
--application -a Class implementing the MonitoredClass interface.
--benchmark-thread -b Class implementing the BenchmarkingThread interface.
* = required parameter
It is sufficient to implement:
moobench \
--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}"
In a fest step it is sufficient do only have MonitoredClassSimple as we are
not going to use something else.
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