Skip to content
Snippets Groups Projects
Commit 1333327b authored by Jan Waller's avatar Jan Waller
Browse files

Additional experiemnts with inspectIT

parent d6bd7d65
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
JAVABIN=""
RSCRIPTDIR=r/
BASEDIR=./
RESULTSDIR="${BASEDIR}tmp/results-inspectit/"
SLEEPTIME=0 ## 30
NUM_LOOPS=1 ## 10
THREADS=1 ## 1
RECURSIONDEPTH=10 ## 10
TOTALCALLS=100000 ## 2000000
METHODTIME=0 ## 500000
MOREPARAMS="--quickstart"
MOREPARAMS="${MOREPARAMS}"
TIME=`expr ${METHODTIME} \* ${TOTALCALLS} / 1000000000 \* 4 \* ${RECURSIONDEPTH} \* ${NUM_LOOPS} + ${SLEEPTIME} \* 4 \* ${NUM_LOOPS} \* ${RECURSIONDEPTH} + 50 \* ${TOTALCALLS} / 1000000000 \* 4 \* ${RECURSIONDEPTH} \* ${NUM_LOOPS} `
echo "Experiment will take circa ${TIME} seconds."
echo "Removing and recreating '$RESULTSDIR'"
(rm -rf ${RESULTSDIR}) && mkdir ${RESULTSDIR}
mkdir ${RESULTSDIR}stat/
# Clear inspectit.log and initialize logging
rm -f ${BASEDIR}inspectit.log
touch ${BASEDIR}inspectit.log
RAWFN="${RESULTSDIR}raw"
JAVAARGS="-server"
JAVAARGS="${JAVAARGS} -d64"
JAVAARGS="${JAVAARGS} -Xms1G -Xmx4G"
JAVAARGS="${JAVAARGS} -verbose:gc -XX:+PrintCompilation"
#JAVAARGS="${JAVAARGS} -XX:+PrintInlining"
#JAVAARGS="${JAVAARGS} -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation"
#JAVAARGS="${JAVAARGS} -Djava.compiler=NONE"
JAR="-jar OverheadEvaluationMicrobenchmark.jar"
JAVAARGS_NOINSTR="${JAVAARGS}"
JAVAARGS_LTW="${JAVAARGS} -javaagent:${BASEDIR}agent/inspectit-agent-mod.jar -Djava.util.logging.config.file=${BASEDIR}config/logging.properties"
JAVAARGS_INSPECTIT_DISABLED="${JAVAARGS_LTW} -Dinspectit.config=${BASEDIR}config/full/inspectit-agent.cfg -Dinspectit.disableProbe=true"
JAVAARGS_INSPECTIT_NOSTORAGE="${JAVAARGS_LTW} -Dinspectit.config=${BASEDIR}config/full/inspectit-agent.cfg -Dinspectit.disableStorage=true"
JAVAARGS_INSPECTIT_NOCHARTING="${JAVAARGS_LTW} -Dinspectit.config=${BASEDIR}config/fullNoCharting/inspectit-agent.cfg"
JAVAARGS_INSPECTIT_FULL="${JAVAARGS_LTW} -Dinspectit.config=${BASEDIR}config/full/inspectit-agent.cfg"
## Write configuration
uname -a >${RESULTSDIR}configuration.txt
${JAVABIN}java ${JAVAARGS} -version 2>>${RESULTSDIR}configuration.txt
echo "JAVAARGS: ${JAVAARGS}" >>${RESULTSDIR}configuration.txt
echo "" >>${RESULTSDIR}configuration.txt
echo "Runtime: circa ${TIME} seconds" >>${RESULTSDIR}configuration.txt
echo "" >>${RESULTSDIR}configuration.txt
echo "SLEEPTIME=${SLEEPTIME}" >>${RESULTSDIR}configuration.txt
echo "NUM_LOOPS=${NUM_LOOPS}" >>${RESULTSDIR}configuration.txt
echo "TOTALCALLS=${TOTALCALLS}" >>${RESULTSDIR}configuration.txt
echo "METHODTIME=${METHODTIME}" >>${RESULTSDIR}configuration.txt
echo "THREADS=${THREADS}" >>${RESULTSDIR}configuration.txt
echo "RECURSIONDEPTH=${RECURSIONDEPTH}" >>${RESULTSDIR}configuration.txt
sync
## Execute Benchmark
for ((i=1;i<=${NUM_LOOPS};i+=1)); do
j=${RECURSIONDEPTH}
k=0
echo "## Starting iteration ${i}/${NUM_LOOPS}"
echo "## Starting iteration ${i}/${NUM_LOOPS}" >>${BASEDIR}inspectit.log
# No instrumentation
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} No instrumentation"
echo " # ${i}.${j}.${k} No instrumentation" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java ${JAVAARGS_NOINSTR} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
# InspectIT (disabled)
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} InspectIT (disabled)"
echo " # ${i}.${j}.${k} InspectIT (disabled)" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java \
-Xms1024m -Xmx1024m -Xmn384M -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC \
-XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}tmp/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>${RESULTSDIR}cmr.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_DISABLED} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill $!
sleep 10
[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
# InspectIT (no storage)
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} InspectIT (no storage)"
echo " # ${i}.${j}.${k} InspectIT (no storage)" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java \
-Xms1024m -Xmx1024m -Xmn384M -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC \
-XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}tmp/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>${RESULTSDIR}cmr.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_NOSTORAGE} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill $!
sleep 10
[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
# InspectIT (no charting)
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} InspectIT (no charting)"
echo " # ${i}.${j}.${k} InspectIT (no charting)" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java \
-Xms1024m -Xmx1024m -Xmn384M -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC \
-XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}tmp/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>${RESULTSDIR}cmr.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_NOCHARTING} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill $!
sleep 10
[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
# InspectIT (full)
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} InspectIT (full)"
echo " # ${i}.${j}.${k} InspectIT (full)" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java \
-Xms1024m -Xmx1024m -Xmn384M -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC \
-XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}tmp/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>${RESULTSDIR}cmr.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_FULL} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill $!
sleep 10
[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
done
zip -jqr ${RESULTSDIR}stat.zip ${RESULTSDIR}stat
rm -rf ${RESULTSDIR}stat/
mv ${BASEDIR}inspectit.log ${RESULTSDIR}inspectit.log
[ -f ${RESULTSDIR}hotspot-1-${RECURSIONDEPTH}-1.log ] && grep "<task " ${RESULTSDIR}hotspot-*.log >${RESULTSDIR}log.log
[ -f ${BASEDIR}errorlog.txt ] && mv ${BASEDIR}errorlog.txt ${RESULTSDIR}
## Generate Results file
# Timeseries
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-timeseries.pdf"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","InspectIT (disabled)","InspectIT (no storage)","InspectIT (no charting)","InspectIT (full)")
configs.colors=c("black","red","blue","green","pink")
results.count=${TOTALCALLS}
tsconf.min=(${METHODTIME}/1000)
tsconf.max=(${METHODTIME}/1000)+300
source("${RSCRIPTDIR}timeseries.r")
EOF
# Timeseries-Average
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-timeseries-average.pdf"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","InspectIT (disabled)","InspectIT (no storage)","InspectIT (no charting)","InspectIT (full)")
configs.colors=c("black","red","blue","green","pink")
results.count=${TOTALCALLS}
tsconf.min=(${METHODTIME}/1000)
tsconf.max=(${METHODTIME}/1000)+300
source("${RSCRIPTDIR}timeseries-average.r")
EOF
# Bars
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
outtxt_fn="${RESULTSDIR}results-text.txt"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","InspectIT (disabled)","InspectIT (no storage)","InspectIT (no charting)","InspectIT (full)")
results.count=${TOTALCALLS}
results.skip=${TOTALCALLS}/2
source("${RSCRIPTDIR}stats.r")
EOF
## Clean up raw results
zip -jqr ${RESULTSDIR}results.zip ${RAWFN}*
rm -f ${RAWFN}*
[ -f ${BASEDIR}nohup.out ] && cp ${BASEDIR}nohup.out ${RESULTSDIR}
[ -f ${BASEDIR}nohup.out ] && > ${BASEDIR}nohup.out
......@@ -4,5 +4,5 @@ agent/ -> add from download
CMR/ -> add from download
config/ -> present and preconfigured
to clean:
remove in CMR the folders db/ logs/ storage/
the -inner experiments require a customized version of inspectIT, that is able to deactivate parts of its probes
#!/bin/bash
JAVABIN=""
RSCRIPTDIR=r/
BASEDIR=./
RESULTSDIR="${BASEDIR}tmp/results-inspectit/"
SLEEPTIME=30 ## 30
NUM_LOOPS=10 ## 10
THREADS=1 ## 1
RECURSIONDEPTH=10 ## 10
TOTALCALLS=2000000 ## 2000000
METHODTIME=0 ## 500000
#MOREPARAMS="--quickstart"
MOREPARAMS="${MOREPARAMS}"
TIME=`expr ${METHODTIME} \* ${TOTALCALLS} / 1000000000 \* 4 \* ${RECURSIONDEPTH} \* ${NUM_LOOPS} + ${SLEEPTIME} \* 4 \* ${NUM_LOOPS} \* ${RECURSIONDEPTH} + 50 \* ${TOTALCALLS} / 1000000000 \* 4 \* ${RECURSIONDEPTH} \* ${NUM_LOOPS} `
echo "Experiment will take circa ${TIME} seconds."
echo "Removing and recreating '$RESULTSDIR'"
(rm -rf ${RESULTSDIR}) && mkdir ${RESULTSDIR}
mkdir ${RESULTSDIR}stat/
# Clear inspectit.log and initialize logging
rm -f ${BASEDIR}inspectit.log
touch ${BASEDIR}inspectit.log
mkdir ${BASEDIR}logs/
RAWFN="${RESULTSDIR}raw"
JAVAARGS="-server"
JAVAARGS="${JAVAARGS} -d64"
JAVAARGS="${JAVAARGS} -Xms1G -Xmx4G"
JAVAARGS="${JAVAARGS} -verbose:gc -XX:+PrintCompilation"
#JAVAARGS="${JAVAARGS} -XX:+PrintInlining"
#JAVAARGS="${JAVAARGS} -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation"
#JAVAARGS="${JAVAARGS} -Djava.compiler=NONE"
JAR="-jar OverheadEvaluationMicrobenchmark.jar"
JAVAARGS_NOINSTR="${JAVAARGS}"
JAVAARGS_LTW="${JAVAARGS} -javaagent:${BASEDIR}agent/inspectit-agent-mod.jar -Djava.util.logging.config.file=${BASEDIR}config/logging.properties -Dinspectit.config=${BASEDIR}config/isequence/"
JAVAARGS_INSPECTIT_DISABLED="${JAVAARGS_LTW} -Dinspectit.disableProbe=true"
JAVAARGS_INSPECTIT_NOSTORAGE="${JAVAARGS_LTW} -Dinspectit.disableStorage=true"
JAVAARGS_INSPECTIT_FULL="${JAVAARGS_LTW}"
## Write configuration
uname -a >${RESULTSDIR}configuration.txt
${JAVABIN}java ${JAVAARGS} -version 2>>${RESULTSDIR}configuration.txt
echo "JAVAARGS: ${JAVAARGS}" >>${RESULTSDIR}configuration.txt
echo "" >>${RESULTSDIR}configuration.txt
echo "Runtime: circa ${TIME} seconds" >>${RESULTSDIR}configuration.txt
echo "" >>${RESULTSDIR}configuration.txt
echo "SLEEPTIME=${SLEEPTIME}" >>${RESULTSDIR}configuration.txt
echo "NUM_LOOPS=${NUM_LOOPS}" >>${RESULTSDIR}configuration.txt
echo "TOTALCALLS=${TOTALCALLS}" >>${RESULTSDIR}configuration.txt
echo "METHODTIME=${METHODTIME}" >>${RESULTSDIR}configuration.txt
echo "THREADS=${THREADS}" >>${RESULTSDIR}configuration.txt
echo "RECURSIONDEPTH=${RECURSIONDEPTH}" >>${RESULTSDIR}configuration.txt
sync
## Execute Benchmark
for ((i=1;i<=${NUM_LOOPS};i+=1)); do
j=${RECURSIONDEPTH}
k=0
echo "## Starting iteration ${i}/${NUM_LOOPS}"
echo "## Starting iteration ${i}/${NUM_LOOPS}" >>${BASEDIR}inspectit.log
# No instrumentation
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} No instrumentation"
echo " # ${i}.${j}.${k} No instrumentation" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java ${JAVAARGS_NOINSTR} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
# InspectIT (disabled)
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} InspectIT (disabled)"
echo " # ${i}.${j}.${k} InspectIT (disabled)" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java \
-Xms1024m -Xmx1024m -Xmn384M -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC \
-XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}logs/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>>${BASEDIR}logs/out.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_DISABLED} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill $!
sleep 10
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
#[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
#[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
#rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
# InspectIT (no storage)
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} InspectIT (no storage)"
echo " # ${i}.${j}.${k} InspectIT (no storage)" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java \
-Xms1024m -Xmx1024m -Xmn384M -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC \
-XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}logs/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>>${BASEDIR}logs/out.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_NOSTORAGE} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill $!
sleep 10
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
#[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
#[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
#rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
# InspectIT (full)
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} InspectIT (full)"
echo " # ${i}.${j}.${k} InspectIT (full)" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java \
-Xms1024m -Xmx1024m -Xmn384M -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC \
-XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}logs/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>>${BASEDIR}logs/out.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_FULL} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill $!
sleep 10
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
#[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
#[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
#rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
done
zip -jqr ${RESULTSDIR}stat.zip ${RESULTSDIR}stat
rm -rf ${RESULTSDIR}stat/
mv ${BASEDIR}logs/ ${RESULTSDIR}
mv ${BASEDIR}inspectit.log ${RESULTSDIR}inspectit.log
[ -f ${RESULTSDIR}hotspot-1-${RECURSIONDEPTH}-1.log ] && grep "<task " ${RESULTSDIR}hotspot-*.log >${RESULTSDIR}log.log
[ -f ${BASEDIR}errorlog.txt ] && mv ${BASEDIR}errorlog.txt ${RESULTSDIR}
## Generate Results file
# Timeseries
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-timeseries.pdf"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","InspectIT (disabled)","InspectIT (no storage)","InspectIT (full)")
configs.colors=c("black","red","blue","green")
results.count=${TOTALCALLS}
tsconf.min=(${METHODTIME}/1000)
tsconf.max=(${METHODTIME}/1000)+100
source("${RSCRIPTDIR}timeseries.r")
EOF
# Timeseries-Average
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-timeseries-average.pdf"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","InspectIT (disabled)","InspectIT (no storage)","InspectIT (full)")
configs.colors=c("black","red","blue","green")
results.count=${TOTALCALLS}
tsconf.min=(${METHODTIME}/1000)
tsconf.max=(${METHODTIME}/1000)+100
source("${RSCRIPTDIR}timeseries-average.r")
EOF
# Bars
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
outtxt_fn="${RESULTSDIR}results-text.txt"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","InspectIT (disabled)","InspectIT (no storage)","InspectIT (full)")
results.count=${TOTALCALLS}
results.skip=${TOTALCALLS}/2
source("${RSCRIPTDIR}stats.r")
EOF
## Clean up raw results
zip -jqr ${RESULTSDIR}results.zip ${RAWFN}*
rm -f ${RAWFN}*
[ -f ${BASEDIR}nohup.out ] && cp ${BASEDIR}nohup.out ${RESULTSDIR}
[ -f ${BASEDIR}nohup.out ] && > ${BASEDIR}nohup.out
#!/bin/bash
JAVABIN=""
RSCRIPTDIR=r/
BASEDIR=./
RESULTSDIR="${BASEDIR}tmp/results-inspectit/"
SLEEPTIME=30 ## 30
NUM_LOOPS=10 ## 10
THREADS=1 ## 1
RECURSIONDEPTH=10 ## 10
TOTALCALLS=2000000 ## 2000000
METHODTIME=0 ## 500000
#MOREPARAMS="--quickstart"
MOREPARAMS="${MOREPARAMS}"
TIME=`expr ${METHODTIME} \* ${TOTALCALLS} / 1000000000 \* 4 \* ${RECURSIONDEPTH} \* ${NUM_LOOPS} + ${SLEEPTIME} \* 4 \* ${NUM_LOOPS} \* ${RECURSIONDEPTH} + 50 \* ${TOTALCALLS} / 1000000000 \* 4 \* ${RECURSIONDEPTH} \* ${NUM_LOOPS} `
echo "Experiment will take circa ${TIME} seconds."
echo "Removing and recreating '$RESULTSDIR'"
(rm -rf ${RESULTSDIR}) && mkdir ${RESULTSDIR}
mkdir ${RESULTSDIR}stat/
# Clear inspectit.log and initialize logging
rm -f ${BASEDIR}inspectit.log
touch ${BASEDIR}inspectit.log
mkdir ${BASEDIR}logs/
RAWFN="${RESULTSDIR}raw"
JAVAARGS="-server"
JAVAARGS="${JAVAARGS} -d64"
JAVAARGS="${JAVAARGS} -Xms1G -Xmx4G"
JAVAARGS="${JAVAARGS} -verbose:gc -XX:+PrintCompilation"
#JAVAARGS="${JAVAARGS} -XX:+PrintInlining"
#JAVAARGS="${JAVAARGS} -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation"
#JAVAARGS="${JAVAARGS} -Djava.compiler=NONE"
JAR="-jar OverheadEvaluationMicrobenchmark.jar"
JAVAARGS_NOINSTR="${JAVAARGS}"
JAVAARGS_LTW="${JAVAARGS} -javaagent:${BASEDIR}agent/inspectit-agent-mod.jar -Djava.util.logging.config.file=${BASEDIR}config/logging.properties -Dinspectit.config=${BASEDIR}config/timer/
JAVAARGS_INSPECTIT_DISABLED="${JAVAARGS_LTW} -Dinspectit.disableProbe=true"
JAVAARGS_INSPECTIT_NOSTORAGE="${JAVAARGS_LTW} -Dinspectit.disableStorage=true"
JAVAARGS_INSPECTIT_FULL="${JAVAARGS_LTW}"
## Write configuration
uname -a >${RESULTSDIR}configuration.txt
${JAVABIN}java ${JAVAARGS} -version 2>>${RESULTSDIR}configuration.txt
echo "JAVAARGS: ${JAVAARGS}" >>${RESULTSDIR}configuration.txt
echo "" >>${RESULTSDIR}configuration.txt
echo "Runtime: circa ${TIME} seconds" >>${RESULTSDIR}configuration.txt
echo "" >>${RESULTSDIR}configuration.txt
echo "SLEEPTIME=${SLEEPTIME}" >>${RESULTSDIR}configuration.txt
echo "NUM_LOOPS=${NUM_LOOPS}" >>${RESULTSDIR}configuration.txt
echo "TOTALCALLS=${TOTALCALLS}" >>${RESULTSDIR}configuration.txt
echo "METHODTIME=${METHODTIME}" >>${RESULTSDIR}configuration.txt
echo "THREADS=${THREADS}" >>${RESULTSDIR}configuration.txt
echo "RECURSIONDEPTH=${RECURSIONDEPTH}" >>${RESULTSDIR}configuration.txt
sync
## Execute Benchmark
for ((i=1;i<=${NUM_LOOPS};i+=1)); do
j=${RECURSIONDEPTH}
k=0
echo "## Starting iteration ${i}/${NUM_LOOPS}"
echo "## Starting iteration ${i}/${NUM_LOOPS}" >>${BASEDIR}inspectit.log
# No instrumentation
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} No instrumentation"
echo " # ${i}.${j}.${k} No instrumentation" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java ${JAVAARGS_NOINSTR} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
# InspectIT (disabled)
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} InspectIT (disabled)"
echo " # ${i}.${j}.${k} InspectIT (disabled)" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java \
-Xms1024m -Xmx1024m -Xmn384M -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC \
-XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}logs/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>>${BASEDIR}logs/out.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_DISABLED} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill $!
sleep 10
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
#[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
#[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
#rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
# InspectIT (no storage)
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} InspectIT (no storage)"
echo " # ${i}.${j}.${k} InspectIT (no storage)" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java \
-Xms1024m -Xmx1024m -Xmn384M -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC \
-XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}logs/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>>${BASEDIR}logs/out.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_NOSTORAGE} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill $!
sleep 10
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
#[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
#[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
#rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
# InspectIT (full)
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} InspectIT (full)"
echo " # ${i}.${j}.${k} InspectIT (full)" >>${BASEDIR}inspectit.log
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java \
-Xms1024m -Xmx1024m -Xmn384M -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC \
-XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}logs/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>>${BASEDIR}logs/out.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_FULL} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill $!
sleep 10
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
#[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
#[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
#rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
sync
sleep ${SLEEPTIME}
done
zip -jqr ${RESULTSDIR}stat.zip ${RESULTSDIR}stat
rm -rf ${RESULTSDIR}stat/
mv ${BASEDIR}logs/ ${RESULTSDIR}
mv ${BASEDIR}inspectit.log ${RESULTSDIR}inspectit.log
[ -f ${RESULTSDIR}hotspot-1-${RECURSIONDEPTH}-1.log ] && grep "<task " ${RESULTSDIR}hotspot-*.log >${RESULTSDIR}log.log
[ -f ${BASEDIR}errorlog.txt ] && mv ${BASEDIR}errorlog.txt ${RESULTSDIR}
## Generate Results file
# Timeseries
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-timeseries.pdf"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","InspectIT (disabled)","InspectIT (no storage)","InspectIT (full)")
configs.colors=c("black","red","blue","green")
results.count=${TOTALCALLS}
tsconf.min=(${METHODTIME}/1000)
tsconf.max=(${METHODTIME}/1000)+300
source("${RSCRIPTDIR}timeseries.r")
EOF
# Timeseries-Average
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-timeseries-average.pdf"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","InspectIT (disabled)","InspectIT (no storage)","InspectIT (full)")
configs.colors=c("black","red","blue","green")
results.count=${TOTALCALLS}
tsconf.min=(${METHODTIME}/1000)
tsconf.max=(${METHODTIME}/1000)+300
source("${RSCRIPTDIR}timeseries-average.r")
EOF
# Bars
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
outtxt_fn="${RESULTSDIR}results-text.txt"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","InspectIT (disabled)","InspectIT (no storage)","InspectIT (full)")
results.count=${TOTALCALLS}
results.skip=${TOTALCALLS}/2
source("${RSCRIPTDIR}stats.r")
EOF
## Clean up raw results
zip -jqr ${RESULTSDIR}results.zip ${RAWFN}*
rm -f ${RAWFN}*
[ -f ${BASEDIR}nohup.out ] && cp ${BASEDIR}nohup.out ${RESULTSDIR}
[ -f ${BASEDIR}nohup.out ] && > ${BASEDIR}nohup.out
......@@ -26,6 +26,7 @@ mkdir ${RESULTSDIR}stat/
# Clear inspectit.log and initialize logging
rm -f ${BASEDIR}inspectit.log
touch ${BASEDIR}inspectit.log
mkdir ${BASEDIR}logs/
RAWFN="${RESULTSDIR}raw"
......@@ -41,7 +42,7 @@ JAR="-jar OverheadEvaluationMicrobenchmark.jar"
JAVAARGS_NOINSTR="${JAVAARGS}"
JAVAARGS_LTW="${JAVAARGS} -javaagent:${BASEDIR}agent/inspectit-agent.jar -Djava.util.logging.config.file=${BASEDIR}config/logging.properties"
JAVAARGS_INSPECTIT_MINIMAL="${JAVAARGS_LTW} -Dinspectit.config=${BASEDIR}config/minimal/"
JAVAARGS_INSPECTIT_FULL="${JAVAARGS_LTW} -Dinspectit.config=${BASEDIR}config/full/"
JAVAARGS_INSPECTIT_FULL="${JAVAARGS_LTW} -Dinspectit.config=${BASEDIR}config/timer/"
## Write configuration
uname -a >${RESULTSDIR}configuration.txt
......@@ -95,7 +96,7 @@ for ((i=1;i<=${NUM_LOOPS};i+=1)); do
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}tmp/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>${RESULTSDIR}cmr.log 2>&1 &
-Xloggc:${BASEDIR}logs/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>>${BASEDIR}logs/out.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_MINIMAL} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
......@@ -106,11 +107,11 @@ for ((i=1;i<=${NUM_LOOPS};i+=1)); do
${MOREPARAMS}
kill $!
sleep 10
[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
rm -rf ${BASEDIR}logs/
#[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
#[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
#rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
......@@ -148,7 +149,7 @@ for ((i=1;i<=${NUM_LOOPS};i+=1)); do
-XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 \
-XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+HeapDumpOnOutOfMemoryError \
-server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution \
-Xloggc:${BASEDIR}tmp/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>${RESULTSDIR}cmr.log 2>&1 &
-Xloggc:${BASEDIR}logs/gc.log -Dinspectit.logging.config=CMR/logging-config.xml -jar CMR/inspectit-cmr.jar 1>>${BASEDIR}logs/out.log 2>&1 &
sleep 10
${JAVABIN}java ${JAVAARGS_INSPECTIT_FULL} ${JAR} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
......@@ -159,12 +160,12 @@ for ((i=1;i<=${NUM_LOOPS};i+=1)); do
${MOREPARAMS}
kill $!
sleep 10
[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
rm -rf ${BASEDIR}storage/
rm -rf ${BASEDIR}db/
rm -rf ${BASEDIR}logs/
kill %sar
#[ -f ${BASEDIR}tmp/gc.log ] && rm -f ${BASEDIR}tmp/gc.log
#[ -f ${RESULTSDIR}cmr.log ] && rm -f ${RESULTSDIR}cmr.log
#rm -rf ${BASEDIR}logs/
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
echo >>${BASEDIR}inspectit.log
echo >>${BASEDIR}inspectit.log
......@@ -175,6 +176,7 @@ done
zip -jqr ${RESULTSDIR}stat.zip ${RESULTSDIR}stat
rm -rf ${RESULTSDIR}stat/
mv ${BASEDIR}inspectit.log ${RESULTSDIR}inspectit.log
mv ${BASEDIR}logs/ ${RESULTSDIR}
[ -f ${RESULTSDIR}hotspot-1-${RECURSIONDEPTH}-1.log ] && grep "<task " ${RESULTSDIR}hotspot-*.log >${RESULTSDIR}log.log
[ -f ${BASEDIR}errorlog.txt ] && mv ${BASEDIR}errorlog.txt ${RESULTSDIR}
......
## repository <IP> <port> <Agent Name>
#############################################
repository localhost 9070 inspectIT
## method-sensor-type <name> <fully-qualified-name> <priority> [<additional options>]
#####################################################################################
# method-sensor-type average-timer info.novatec.inspectit.agent.sensor.method.averagetimer.AverageTimerSensor HIGH stringLength=100
method-sensor-type timer info.novatec.inspectit.agent.sensor.method.timer.TimerSensor MAX stringLength=100
method-sensor-type isequence info.novatec.inspectit.agent.sensor.method.invocationsequence.InvocationSequenceSensor INVOC stringLength=100
method-sensor-type jdbc-connection info.novatec.inspectit.agent.sensor.method.jdbc.ConnectionSensor MIN
method-sensor-type jdbc-prepared-statement info.novatec.inspectit.agent.sensor.method.jdbc.PreparedStatementSensor MIN stringLength=1000
method-sensor-type jdbc-prepared-statement-parameter info.novatec.inspectit.agent.sensor.method.jdbc.PreparedStatementParameterSensor MIN
method-sensor-type jdbc-statement info.novatec.inspectit.agent.sensor.method.jdbc.StatementSensor MIN stringLength=1000
## exception-sensor-type <fully-qualified-name> [<additional options>]
######################################################################
exception-sensor-type info.novatec.inspectit.agent.sensor.exception.ExceptionSensor mode=simple stringLength=500
## platform-sensor-type <fully-qualified-name> [<additional options>]
#####################################################################
platform-sensor-type info.novatec.inspectit.agent.sensor.platform.ClassLoadingInformation
platform-sensor-type info.novatec.inspectit.agent.sensor.platform.CompilationInformation
platform-sensor-type info.novatec.inspectit.agent.sensor.platform.MemoryInformation
platform-sensor-type info.novatec.inspectit.agent.sensor.platform.CpuInformation
platform-sensor-type info.novatec.inspectit.agent.sensor.platform.RuntimeInformation
platform-sensor-type info.novatec.inspectit.agent.sensor.platform.SystemInformation
platform-sensor-type info.novatec.inspectit.agent.sensor.platform.ThreadInformation
## send-strategy <fully-qualified-name>
#######################################
send-strategy info.novatec.inspectit.agent.sending.impl.TimeStrategy time=5000
## buffer-strategy <fully-qualified-name>
#########################################
buffer-strategy info.novatec.inspectit.agent.buffer.impl.SimpleBufferStrategy
## Ignore classes settings
#########################################
exclude-class info.novatec.inspectit.*
exclude-class $Proxy*
exclude-class sun.*
exclude-class java.lang.ThreadLocal
exclude-class java.lang.ref.Reference
exclude-class *_WLStub
exclude-class *[]
## INSTRUMENTATION
##################
sensor isequence mooBench.monitoredApplication.MonitoredClass monitoredMethod interface=true p=0;Source; f=LastOperator;lastOperator f=LastOutput;jlbOutput.text
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