aboutsummaryrefslogtreecommitdiffstats
path: root/tests/profiling/build.properties
blob: 7d855e5861155ebc21f7c44a8a1f9a4f7121d496 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# 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=true

# 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.5
target.level=1.5

# 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=./spring-1.2.6.xml

# target application name, used as the subdirectory under results to store
# profiling results
target.application.name=spring-1.2.6

# 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=./aspects/simple-suite/src

# 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=${spring.install.dir}/dist/spring.jar

# 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=./ltw-app/META-INF/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 https://java.sun.com/developer/technicalArticles/Programming/HPROF.html
hprof.args=-agentlib:hprof=heap=sites,cpu=samples
# 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 (https://www.hp.com/products1/unix/java/java2/hpjtune/index.html)
# Start JTune with java -jar HPTune.jar
gc.args=-Xloggc:gc.txt