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
No related branches found
No related tags found
No related merge requests found
......@@ -2,8 +2,8 @@
<classpath>
<classpathentry kind="src" path="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/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"/>
</classpath>
eclipse.preferences.version=1
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.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.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=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.alignment_for_arguments_in_allocation_expression=16
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
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_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_package=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.
The default experiments employ AspectJ for weaving the monitoring
probes into the application.
Currenly supported monitoring frameworks include:
* 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.
The default execution of the benchmark requires a 64Bit JVM!
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:
1. You should check whether you installed ant (http://ant.apache.org/),
since the execution of all examples described in this
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
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:
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
All benchmarks are started with calls of .sh scripts in the bin folder.
The top of the files include some configuration parameters, such as
* SLEEPTIME between executions
* NUM_LOOPS number of repetitions
* THREADS concurrent benchmarking threads
......@@ -37,21 +47,23 @@ Furthermore some JVM arguments can be adjusted:
* JAVAARGS JVM Arguments
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
To check for a linear rise in monitoring overhead, this benchmark increases the
recursion depth up to 2^MAXRECURSIONDEPTH in logarithmic steps
To check for a linear rise in monitoring overhead, this benchmark
increases the recursion depth up to 2^MAXRECURSIONDEPTH in logarithmic
steps
-> bin/run-benchmark-recursive-linear.sh
Benchmarking the JMX-writer
-> bin/run-benchmark-recursive-jmx.sh
The experiments run-cycle*.sh and their used files run-benchmark-cycle-*.sh are
currently only supporting Solaris environments and require pfexec permissions to
assign subsets of cores to the benchmarking system.
The experiments run-cycle*.sh and their used files
run-benchmark-cycle-*.sh are currently only supporting Solaris
environments and require pfexec permissions to assign subsets of cores
to the benchmarking system.
Analyzing the data:
in the folder /bin/r-scripts are some R scripts provided to generate graphs to
visualize the results. In the top the files, one can configure the required paths
and the configuration used to analyze the data.
in the folder /bin/r-scripts are some R scripts provided to generate
graphs to visualize the results. In the top the files, one can configure
the required paths and the configuration used to analyze the data.
......@@ -3,10 +3,12 @@
<property file="build.properties" />
<target name="build-all" depends="clean,init,compile,jar" />
<target name="build-kieker" depends="clean,init,compile-kieker,jar" />
<target name="init" depends="">
<mkdir dir="build" />
<mkdir dir="dist" />
<mkdir dir="dist/lib" />
<mkdir dir="tmp" />
</target>
......@@ -14,30 +16,40 @@
<path id="compile-classpath">
<fileset dir="lib/">
<include name="commons-cli-*.jar" />
<include name="kieker-*.jar" />
</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/">
<include name="*.jar" />
<include name="kieker-1.9-SNAPSHOT_aspectj.jar" />
</fileset>
-->
</path>
<javac source="1.5" target="1.5" destDir="build" debug="true" classpathref="compile-classpath" includeAntRuntime="false">
<src path="src" />
<src path="frameworks/Kieker/src" />
</javac>
<copy todir="build/META-INF">
<fileset dir="src/META-INF" />
<fileset dir="frameworks/Kieker/src/META-INF" />
</copy>
<copy todir="dist/lib" flatten="true">
<path>
<path refid="compile-classpath"/>
</path>
</copy>
</target>
<target name="jar" depends="compile">
<manifestclasspath property="jar.classpath" jarfile="dist/OverheadEvaluationMicrobenchmark.jar">
<classpath>
<fileset dir="lib/">
<fileset dir="dist/lib/">
<include name="**/*.jar" />
<exclude name="commons-cli-*.jar" />
</fileset>
</classpath>
</manifestclasspath>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment