Profiling options for profiling an application in stand-alone mode

In stand-alone mode, profiling options are specified in a file. The following describes the file format and the valid profiling options that can be used in the file.

Comments can be made in the profile options file by using *. For example, the line
* This is a comment in the profile file
will be ignored by the profiler when processing the file.
All other lines in the file follow this format:

<option_key> = <option_value>
The following table lists the profiling valid option key-option value pairs:

Option key Option value

MONITOR_MODE

This option controls whether monitor events appear in the trace. Monitor events are of two kinds: monitor contended events, and monitor wait events. Monitor contended events occur when a thread tries acquiring a monitor that is already acquired by another thread. Monitor wait events occur when a thread waits on a monitor (eg. by executing the wait() method).

all

All monitor events will appear in the trace.

none

No monitor events will appear in the trace

FILTERS

Used to specify whether the used filters are printed out at the beginning of the trace.

true

Print out the filters at the beginning of the trace.

false

Do not print out the filters at the beginning of the trace.

TRACK_GC_EVENT_TYPES

Used to indicate what type of garbage collection (GC) events should be printed to the trace. The two types of GC events are object free events and object move events.

none

Do not print out any GC events.

deletes

frees

Print out only object free events

moves

Print out only object move events

deletesAndMoves

movesAndFrees

Print out both object frees and object moves.

ID_STYLE

Used to specify the types of object Id's that are printed. The possible types are Static Id and Relocatable Id. A Static Id is essentially a one-time id assigned to an object in the trace the first time it is seen. Furthermore, the id doesn't change during the duration of execution (even if the jvm moves the object internally). Static id's are the type that are typically used by the profiler.
A Relocatable Id is the id the the JVM associates with the objects and can change during execution (if, for example, during garbage collection, an object move event occurs).

static

Print only Static Ids

relocatable

Print only Relocatable Ids

staticAndRelocatable

Print both Static and Relocatable Ids

OPTIONS

Used to specify whether the profiling options should be printed to the trace.

true

Print the profiling options to the trace.

false

Do not print the profiling options to the trace.

TIMESTAMPS

Used to specify whether timestamps should be printed in the trace.

true

Print timestamps

false

Do not print timestamps

METHOD_COUNTS

Used to specify whether the method counts should be printed at the end of the trace.

true

For the methods that were traced, print a total of the number of times they were called at the end of the trace just before JVM shutdown.

false

Do not print method counts.

OBJ_ALLOC_IS_ARRAY

Used to specify whether to print out the isArray attribute for object allocations. (i.e., when an object is allocated, it is either an array or it is not; the isArray attribute contains that information.)

true

Print the isArray attribute.

false

Do not print the isArray attribute.

STACK_INFORMATION

This option is used to specify what type of method tracing should be done.

none

Do not do any method tracing. This is the equivalent of NOT selecting Execution Time Analysis in the Profile configuration window in the workbench.

normal

Trace all non-filtered methods.

boundary

Trace all non-filtered methods PLUS all boundary methods. This is the equivalent of having Profile Configuration > Execution Time Analysis > Collect boundary classes excluded by the filter set selected in the workbench.

contiguous

Trace all non-filtered methods PLUS all filtered methods that occur on the method invocation stack that are between two non-filtered methods. For example, suppose methodA calls methodB, which calls methodC, which in turn calls methodD. Further suppose methodA and methodD are not filtered, but methodB and methodC are. Since methodB and methodC are between two non-filtered methods, they also get traced.

boundaryAndContiguous

Same behaviour as having both the contiguous and boundary option values set for STACK_INFORMATION.

BOUNDARY_DEPTH

Used to specify the boundary tracing depth when the STACK_INFORMATION=boundary or boundaryAndContiguous.

Integer

Integer value specifying the boundary tracing depth.

TICKET

Used to specify whether the ticket attribute should appear in the trace.

true

Ticket attribute should appear in the trace.

false

Ticket attribute should not appear in the trace.

TRACE_MODE

Used to specify the tracing mode. Basically the tracing mode specifies whether object (heap) information is kept track of or not. (The 'none' value has special meaning.)

full

Trace all possible object information. That is, trace object allocations and trace the objects that are associated with method invocations (if STACK_INFORMATION is set to do method tracing).

none

Do not do any tracing whatsoever. (If this value is set, then the STACK_INFORMATION option gets overridden even if it is set to trace method invocations.)

noObjectCorrelation

Do not trace object information. This is different from the 'none' value in that method invocation tracing can still take place (if STACK_INFORMATION is appropriately set), but the objects associated with method invocations won't be kept track of, nor will any object allocation information be kept track of.

TRACE_ID_REFS

Used to specify whether to print out the trace id reference attribute. The trace reference id is an identifier that is unique to the trace.

true

Print out the trace id reference attribute.

false

Do not print out the trace id reference attribute.

Related tasks
Profiling an application
Profiling an application in standalone mode

Related references
Limitations when profiling an application on AS/400