aboutsummaryrefslogtreecommitdiffstats
path: root/tests/profiling
diff options
context:
space:
mode:
authoraclement <aclement>2006-02-07 12:26:54 +0000
committeraclement <aclement>2006-02-07 12:26:54 +0000
commit59501feb0d88ebd90d3d7b831adac4e161b9118b (patch)
tree88e71e27f8848aee62c83faad5a82db423242340 /tests/profiling
parent5d912f273e6a0c5e1bf0b1d9fe228e497b2641de (diff)
downloadaspectj-59501feb0d88ebd90d3d7b831adac4e161b9118b.tar.gz
aspectj-59501feb0d88ebd90d3d7b831adac4e161b9118b.zip
not perfect yet - but some I'm using.
Diffstat (limited to 'tests/profiling')
-rw-r--r--tests/profiling/build.properties.shadows99
-rw-r--r--tests/profiling/build.properties.tjp99
-rw-r--r--tests/profiling/shadows.xml68
3 files changed, 266 insertions, 0 deletions
diff --git a/tests/profiling/build.properties.shadows b/tests/profiling/build.properties.shadows
new file mode 100644
index 000000000..614b0fd0d
--- /dev/null
+++ b/tests/profiling/build.properties.shadows
@@ -0,0 +1,99 @@
+o Version controlled properties for profiling ant script
+# You can locally override properties defined here by placing
+# them in a project.properties file in the same directory.
+#
+# Do not check your project.properties file into CVS!
+
+# directory containing aspectj libraries (aspectj[tools|weaver|rt].jar)
+aspectj.lib.dir=../../aj-build/dist/tools/lib
+
+# root directory of your workspace containing the aspectj tree (if
+# using head for profiling as opposed to a built version of aspectj)
+aspectj.workspace.root=../..
+
+# set this property to false in your project.properties to use the contents of your workspace
+# for compilation, as opposed to the jars in aspectj.lib.dir
+use.aspectjtools.jar=false
+
+# the iajc task that ships with 1.5.0 or any prior release does
+# not support the need <jvmarg> nested attribute that this
+# profiling script needs. To profile AspectJ versions < 1.5.1,
+# use the local copy of AjcTask in the "classes" folder by
+# defining the following property
+use.local.iajc.task.class=true
+
+# directory in which results will be placed
+results.dir=results
+
+# source and target levels for compilation
+source.level=1.3
+target.level=1.3
+
+# the maximum memory to make available for the compilation/weaving
+ajc.maxmem=768m
+
+# the name of the file containing the path definitions needed to compile
+# a particular target application as the subject of the profiling
+# we profile the compilation and weaving of spring 1.2.6 by default.
+target.application.definitions.file=./shadows.xml
+
+# target application name, used as the subdirectory under results to store
+# profiling results
+target.application.name=shadows
+
+# source root directory for the aspects you want to compile and weave alongside
+# the target application (unless it contains sufficient aspects on its own...)
+test.aspects.src.dir=
+
+# installation dir of a spring-1.2.6 distribution. you will need to set this
+# in project.properties unless you point the target.application.definitions.file
+# to compile a different target application altogether.
+spring.install.dir=must-set-spring.install.dir-property-in-project.properties
+
+# for binary and loadtime weaving, the location of the jar file that will be
+# woven into
+weave.injar=
+
+# location of aop.xml file to be included when load-time weaving
+# use this to control the set of types exposed to the weaver so as to
+# match the set of types woven in the other modes for fair comparisons
+# across weave times
+ltw.aop.xml=
+
+# args to pass to vm for hprof run
+#
+# hprof usage: java -agentlib:hprof=[help]|[<option>=<value>, ...]
+#
+# Option Name and Value Description Default
+# --------------------- ----------- -------
+# heap=dump|sites|all heap profiling all
+# cpu=samples|times|old CPU usage off
+# monitor=y|n monitor contention n
+# format=a|b text(txt) or binary output a
+# file=<file> write data to file java.hprof[.txt]
+# net=<host>:<port> send data over a socket off
+# depth=<size> stack trace depth 4
+# interval=<ms> sample interval in ms 10
+# cutoff=<value> output cutoff point 0.0001
+# lineno=y|n line number in traces? y
+# thread=y|n thread in traces? n
+# doe=y|n dump on exit? y
+# msa=y|n Solaris micro state accounting n
+# force=y|n force output to <file> y
+# verbose=y|n print messages about dumps y
+# see http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
+hprof.args=-agentlib:hprof=heap=sites,cpu=samples,depth=3
+#hprof.args=-agentlib:hprof=heap=dump,cpu=samples,depth=8
+# for full details on object allocation and reachability use heap=all instead
+# (v. large files)
+# for full timing info use cpu=times (much slower)
+# for Java 1.4 and below use the following style instead
+# hprof.args=-Xrunhprof:cpu=times
+
+# args to pass to vm for gc run
+# after a run this file will be copied into results/${target.application.name}/gt.<date-time>.txt
+# you can analyze it with JTune (http://www.hp.com/products1/unix/java/java2/hpjtune/index.html)
+# Start JTune with java -jar HPTune.jar
+gc.args=-Xloggc:gc.txt
+
+
diff --git a/tests/profiling/build.properties.tjp b/tests/profiling/build.properties.tjp
new file mode 100644
index 000000000..2882eb8b3
--- /dev/null
+++ b/tests/profiling/build.properties.tjp
@@ -0,0 +1,99 @@
+o Version controlled properties for profiling ant script
+# You can locally override properties defined here by placing
+# them in a project.properties file in the same directory.
+#
+# Do not check your project.properties file into CVS!
+
+# directory containing aspectj libraries (aspectj[tools|weaver|rt].jar)
+aspectj.lib.dir=../../aj-build/dist/tools/lib
+
+# root directory of your workspace containing the aspectj tree (if
+# using head for profiling as opposed to a built version of aspectj)
+aspectj.workspace.root=../..
+
+# set this property to false in your project.properties to use the contents of your workspace
+# for compilation, as opposed to the jars in aspectj.lib.dir
+use.aspectjtools.jar=false
+
+# the iajc task that ships with 1.5.0 or any prior release does
+# not support the need <jvmarg> nested attribute that this
+# profiling script needs. To profile AspectJ versions < 1.5.1,
+# use the local copy of AjcTask in the "classes" folder by
+# defining the following property
+use.local.iajc.task.class=true
+
+# directory in which results will be placed
+results.dir=results
+
+# source and target levels for compilation
+source.level=1.3
+target.level=1.3
+
+# the maximum memory to make available for the compilation/weaving
+ajc.maxmem=768m
+
+# the name of the file containing the path definitions needed to compile
+# a particular target application as the subject of the profiling
+# we profile the compilation and weaving of spring 1.2.6 by default.
+target.application.definitions.file=./tjp.xml
+
+# target application name, used as the subdirectory under results to store
+# profiling results
+target.application.name=tjp
+
+# source root directory for the aspects you want to compile and weave alongside
+# the target application (unless it contains sufficient aspects on its own...)
+test.aspects.src.dir=
+
+# installation dir of a spring-1.2.6 distribution. you will need to set this
+# in project.properties unless you point the target.application.definitions.file
+# to compile a different target application altogether.
+spring.install.dir=must-set-spring.install.dir-property-in-project.properties
+
+# for binary and loadtime weaving, the location of the jar file that will be
+# woven into
+weave.injar=
+
+# location of aop.xml file to be included when load-time weaving
+# use this to control the set of types exposed to the weaver so as to
+# match the set of types woven in the other modes for fair comparisons
+# across weave times
+ltw.aop.xml=
+
+# args to pass to vm for hprof run
+#
+# hprof usage: java -agentlib:hprof=[help]|[<option>=<value>, ...]
+#
+# Option Name and Value Description Default
+# --------------------- ----------- -------
+# heap=dump|sites|all heap profiling all
+# cpu=samples|times|old CPU usage off
+# monitor=y|n monitor contention n
+# format=a|b text(txt) or binary output a
+# file=<file> write data to file java.hprof[.txt]
+# net=<host>:<port> send data over a socket off
+# depth=<size> stack trace depth 4
+# interval=<ms> sample interval in ms 10
+# cutoff=<value> output cutoff point 0.0001
+# lineno=y|n line number in traces? y
+# thread=y|n thread in traces? n
+# doe=y|n dump on exit? y
+# msa=y|n Solaris micro state accounting n
+# force=y|n force output to <file> y
+# verbose=y|n print messages about dumps y
+# see http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
+#hprof.args=-agentlib:hprof=heap=sites,cpu=samples,depth=8
+hprof.args=-agentlib:hprof=heap=sites,cpu=samples,depth=8
+# for full details on object allocation and reachability use heap=all instead
+# (v. large files)
+# for full timing info use cpu=times (much slower)
+# for Java 1.4 and below use the following style instead
+# hprof.args=-Xrunhprof:cpu=times
+
+# args to pass to vm for gc run
+# after a run this file will be copied into results/${target.application.name}/gt.<date-time>.txt
+# you can analyze it with JTune (http://www.hp.com/products1/unix/java/java2/hpjtune/index.html)
+# Start JTune with java -jar HPTune.jar
+gc.args=-Xloggc:gc.txt
+
+
diff --git a/tests/profiling/shadows.xml b/tests/profiling/shadows.xml
new file mode 100644
index 000000000..71bd020fe
--- /dev/null
+++ b/tests/profiling/shadows.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+
+<!--
+ Copyright 2006 contributors.
+
+ All rights reserved.
+ This program and the accompanying materials are made available
+ under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution and is available at
+ http://eclipse.org/legal/epl-v10.html
+
+ Contributors: Adrian Colyer
+-->
+
+<project name="shadows" default="shadows-usage">
+
+ <!-- imported by master build.xml when using the shadows
+ source tree as the basis for profiling the compiler -->
+
+ <target name="shadows-usage">
+ <echo message="this file contains only path definitions"/>
+ <echo message="these are used to customize the target application used by"/>
+ <echo message="the profiling tests. Set the target.application.definitions.file"/>
+ <echo message="property to point to your own replacement of this file to"/>
+ <echo message="profile compilation of an alternate project"/>
+ </target>
+
+ <!-- any target.application.definitions.file must define the following paths:
+ * source.roots (used for from source and ajdt compilation tests)
+ * build.class.path (the class path needed to build the application)
+ it must also define the copy.source.files target needed by the ajdt build
+ -->
+
+ <!-- the source roots used for compilation. -->
+ <path id="source.roots">
+ <pathelement location="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/antadapter"/>
+ <pathelement location="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/aspectj"/>
+ <pathelement location="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/batch"/>
+ <pathelement location="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/codeassist"/>
+ <pathelement location="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/compiler"/>
+ <pathelement location="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/dom"/>
+ <pathelement location="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/eval"/>
+ <pathelement location="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/formatter"/>
+ <pathelement location="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/model"/>
+ <pathelement location="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/search"/>
+ </path>
+
+ <!-- the classpath needed for compilation -->
+ <path id="build.class.path">
+ <fileset dir="f:/workspaces/aspectj1/shadows.org.eclipse.jdt.core/lib">
+ <include name="jdtDepends.jar"/>
+ </fileset>
+ </path>
+
+ <!-- the source files used for AJDT project-based compilation -->
+ <target name="copy.source.files" depends="init">
+ <echo message="copying source files to ${todir}"/>
+ <copy todir="${todir}">
+ <fileset dir="${spring.install.dir}/src"
+ includes="**/*.java,**/*.aj"/>
+ <fileset dir="${spring.install.dir}/tiger/src"
+ includes="**/*.java,**/*.aj"/>
+ <fileset dir="${test.aspects.src.dir}"
+ includes="**/*.java,**/*.aj"/>
+ </copy>
+ </target>
+
+</project>