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

updated description and build script

parent 8047879b
Branches
Tags
No related merge requests found
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<classpath> <classpath>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="frameworks/Kieker/src"/> <classpathentry kind="src" path="frameworks/Kieker/src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="lib" path="lib/commons-cli-1.2.jar"/> <classpathentry kind="lib" path="lib/commons-cli-1.2.jar"/>
<classpathentry kind="lib" path="lib/kieker-1.9-SNAPSHOT_aspectj.jar"/> <classpathentry kind="lib" path="frameworks/Kieker/lib/kieker-1.9-SNAPSHOT_aspectj.jar"/>
<classpathentry kind="output" path="build-eclipse"/> <classpathentry kind="output" path="build-eclipse"/>
</classpath> </classpath>
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.5 org.eclipse.jdt.core.compiler.source=1.7
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
...@@ -92,7 +92,6 @@ org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false ...@@ -92,7 +92,6 @@ org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
org.eclipse.jdt.core.formatter.indentation.size=4 org.eclipse.jdt.core.formatter.indentation.size=4
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
......
The MooBench Monitoring Overhead Benchmark The MooBench Monitoring Overhead Micro-Benchmark
------------------------------------------ ------------------------------------------------------------------------
This micro-benchmarks can be used to quantify the performance Website: http://kieker-monitoring.net/MooBench
Contact: moobench@notme.de
The MooBench micro-benchmarks can be used to quantify the performance
overhead caused by monitoring framework components. overhead caused by monitoring framework components.
The default experiments employ AspectJ for weaving the monitoring Currenly supported monitoring frameworks include:
probes into the application. * Kieker (http://kieker-monitoring.net)
* inspectIT (http://inspectit.eu/)
* SPASSmeter
An ant script (build.xml) is provided to prepare the benchmark for the
respective monitoring framwork. Corresponding build targets, providing
preconfigured build for each supported framework, are available.
For instance, the target "build-kieker" prepares a jar for Kieker
benchmarking experiments.
All experiments are started with the provided "External Controller"
scripts. These scripts are available inside the bin/ directory.
Currently only shell (.sh) scripts are provided. Currently only shell (.sh) scripts are provided.
The default execution of the benchmark requires a 64Bit JVM! The default execution of the benchmark requires a 64Bit JVM!
This can be changed in the respective .sh scripts. This can be changed in the respective .sh scripts.
Files required in /lib:
kieker-*_aspectj.jar (a current build of Kieker)
commons-cli-1.2.jar
Initially, the following steps are required: Initially, the following steps are required:
1. You should check whether you installed ant (http://ant.apache.org/), 1. You should check whether you installed ant (http://ant.apache.org/),
since the execution of all examples described in this since the execution of all examples described in this
README is based on the run-targets in the ant file build.xml. README is based on the run-targets in the ant file build.xml.
2. Make sure, that you've installed R (http://www.r-project.org/) to 2. Make sure, that you've installed R (http://www.r-project.org/) to
generate the results. generate the results.
3. Compile the application by calling ant. 3. Compile the application by calling ant with the appropriate build
target.
Execution of the micro-benchmark: Execution of the micro-benchmark:
All benchmarks are started with calls of .sh scripts in the /bin folder. All benchmarks are started with calls of .sh scripts in the bin folder.
The top of the files include some possibilities for configuration, such as The top of the files include some configuration parameters, such as
* SLEEPTIME between executions * SLEEPTIME between executions
* NUM_LOOPS number of repetitions * NUM_LOOPS number of repetitions
* THREADS concurrent benchmarking threads * THREADS concurrent benchmarking threads
...@@ -37,21 +47,23 @@ Furthermore some JVM arguments can be adjusted: ...@@ -37,21 +47,23 @@ Furthermore some JVM arguments can be adjusted:
* JAVAARGS JVM Arguments * JAVAARGS JVM Arguments
Experiments: Experiments:
Different recursion depth (with MAXRECURSIONDEPTH=1 one can test without recursion) Different recursion depth (with MAXRECURSIONDEPTH=1 without recursion)
-> bin/run-benchmark-recursive.sh -> bin/run-benchmark-recursive.sh
To check for a linear rise in monitoring overhead, this benchmark increases the To check for a linear rise in monitoring overhead, this benchmark
recursion depth up to 2^MAXRECURSIONDEPTH in logarithmic steps increases the recursion depth up to 2^MAXRECURSIONDEPTH in logarithmic
steps
-> bin/run-benchmark-recursive-linear.sh -> bin/run-benchmark-recursive-linear.sh
Benchmarking the JMX-writer Benchmarking the JMX-writer
-> bin/run-benchmark-recursive-jmx.sh -> bin/run-benchmark-recursive-jmx.sh
The experiments run-cycle*.sh and their used files run-benchmark-cycle-*.sh are The experiments run-cycle*.sh and their used files
currently only supporting Solaris environments and require pfexec permissions to run-benchmark-cycle-*.sh are currently only supporting Solaris
assign subsets of cores to the benchmarking system. environments and require pfexec permissions to assign subsets of cores
to the benchmarking system.
Analyzing the data: Analyzing the data:
in the folder /bin/r-scripts are some R scripts provided to generate graphs to in the folder /bin/r-scripts are some R scripts provided to generate
visualize the results. In the top the files, one can configure the required paths graphs to visualize the results. In the top the files, one can configure
and the configuration used to analyze the data. the required paths and the configuration used to analyze the data.
...@@ -3,10 +3,12 @@ ...@@ -3,10 +3,12 @@
<property file="build.properties" /> <property file="build.properties" />
<target name="build-all" depends="clean,init,compile,jar" /> <target name="build-all" depends="clean,init,compile,jar" />
<target name="build-kieker" depends="clean,init,compile-kieker,jar" />
<target name="init" depends=""> <target name="init" depends="">
<mkdir dir="build" /> <mkdir dir="build" />
<mkdir dir="dist" /> <mkdir dir="dist" />
<mkdir dir="dist/lib" />
<mkdir dir="tmp" /> <mkdir dir="tmp" />
</target> </target>
...@@ -14,30 +16,40 @@ ...@@ -14,30 +16,40 @@
<path id="compile-classpath"> <path id="compile-classpath">
<fileset dir="lib/"> <fileset dir="lib/">
<include name="commons-cli-*.jar" /> <include name="commons-cli-*.jar" />
<include name="kieker-*.jar" />
</fileset> </fileset>
<!-- </path>
<javac source="1.5" target="1.5" destDir="build" debug="true" classpathref="compile-classpath" includeAntRuntime="false">
<src path="src" />
</javac>
<copy todir="build/META-INF">
<fileset dir="src/META-INF" />
</copy>
</target>
<target name="compile-kieker" depends="compile">
<path id="compile-classpath">
<fileset dir="frameworks/Kieker/lib/"> <fileset dir="frameworks/Kieker/lib/">
<include name="*.jar" /> <include name="kieker-1.9-SNAPSHOT_aspectj.jar" />
</fileset> </fileset>
-->
</path> </path>
<javac source="1.5" target="1.5" destDir="build" debug="true" classpathref="compile-classpath" includeAntRuntime="false"> <javac source="1.5" target="1.5" destDir="build" debug="true" classpathref="compile-classpath" includeAntRuntime="false">
<src path="src" />
<src path="frameworks/Kieker/src" /> <src path="frameworks/Kieker/src" />
</javac> </javac>
<copy todir="build/META-INF"> <copy todir="build/META-INF">
<fileset dir="src/META-INF" />
<fileset dir="frameworks/Kieker/src/META-INF" /> <fileset dir="frameworks/Kieker/src/META-INF" />
</copy> </copy>
<copy todir="dist/lib" flatten="true">
<path>
<path refid="compile-classpath"/>
</path>
</copy>
</target> </target>
<target name="jar" depends="compile"> <target name="jar" depends="compile">
<manifestclasspath property="jar.classpath" jarfile="dist/OverheadEvaluationMicrobenchmark.jar"> <manifestclasspath property="jar.classpath" jarfile="dist/OverheadEvaluationMicrobenchmark.jar">
<classpath> <classpath>
<fileset dir="lib/"> <fileset dir="dist/lib/">
<include name="**/*.jar" /> <include name="**/*.jar" />
<exclude name="commons-cli-*.jar" />
</fileset> </fileset>
</classpath> </classpath>
</manifestclasspath> </manifestclasspath>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment