diff options
author | aclement <aclement> | 2006-02-07 12:26:54 +0000 |
---|---|---|
committer | aclement <aclement> | 2006-02-07 12:26:54 +0000 |
commit | 59501feb0d88ebd90d3d7b831adac4e161b9118b (patch) | |
tree | 88e71e27f8848aee62c83faad5a82db423242340 /tests/profiling | |
parent | 5d912f273e6a0c5e1bf0b1d9fe228e497b2641de (diff) | |
download | aspectj-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.shadows | 99 | ||||
-rw-r--r-- | tests/profiling/build.properties.tjp | 99 | ||||
-rw-r--r-- | tests/profiling/shadows.xml | 68 |
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> |