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