Опции профилирования для приложений в автономном режиме

В автономном режиме опции профилирования задаются в файле. Ниже приведено описание формата файла и допустимых параметров профилирования.

К некоторым параметрам можно добавлять комментарии, помечая их звездочкой *. Например, строка
* Это комментарий в файле profile
при обработке файла проигнорируется.
Все остальные строки должны соответствовать следующему формату:

<название_опции> = <значение_опции>
В приведенной ниже таблице показаны допустимые пары опций и их значений:
Опция Значение опции
MONITOR_MODE
Эта опция управляет отображением событий монитора при трассировке. События монитора бывают двух видов: конфликт и ожидание. Конфликты монитора возникают тогда, когда нить пытается занять монитор, уже занятый другой нитью. Событие ожидания монитора возникает тогда, когда нить ждет монитор [например, выполняется метод wait()].
all
Отображать в трассировке все события монитора.
none
Не отображать события монитора в трассировке
FILTERS
Указывает, следует ли в начале трассировки выводить используемые фильтры.
true
Фильтры будут выводиться в начале трассировки.
false
Фильтры не будут выводиться в начале трассировки.
TRACK_GC_EVENT_TYPES
Указывает тип событий сбора мусора (GC), которые должны входить в трассировку. События сбора мусора бывают двух типов: освобождение объекта и перемещение объекта.
none
Не включать в трассировку событий GC.
deletes
frees
Включать только события освобождения объектов
moves
Включать только события перемещения объектов
deletesAndMoves
movesAndFrees
Включать в трассировку события обоих типов.
ID_STYLE
Указывает тип ИД выводимых объектов. Допустимые типы - статические ИД и перемещаемые ИД. Статический ИД - это ИД, назначаемый объекту один раз при первом появлении в трассировке. В дальнейшем такой ИД не изменяется (даже если JVM перемещает объект). Профилировщик обычно использует статические ИД объектов.
Перемещаемые ИД - это ИД, которые машина JVM привязывает к объектам. Такие ИД могут изменяться в процессе работы (если, например, объект переместился из-за сбора мусора).
static
Вывод только статических ИД
relocatable
Вывод только перемещаемых ИД
staticAndRelocatable
Вывод ИД обоих типов
OPTIONS
Указывает, будут ли выводиться в трассировке опции профилирования.
true
Опции профилирования включены в трассировку.
false
Опции профилирования не включены в трассировку.
TIMESTAMPS
Указывает, будут ли входить в трассировку метки времени.
true
Выводить метки времени
false
Не выводить метки времени
METHOD_COUNTS
Указывает, следует ли в конце трассировки выводить количество методов.
true
Выводить общее количество вызовов трассируемых методов в конце трассировки перед отключением виртуальной машины JVM.
false
Не выводить количество методов.
OBJ_ALLOC_IS_ARRAY
Указывает, следует ли выводить атрибут isArray для выделений ресурсов объекту. (например, если объекту выделена память, то объект либо упорядочен, либо нет; эта информация содержится в атрибуте isArray.)
true
Выводить атрибут isArray.
false
Не выводить атрибут isArray.
STACK_INFORMATION
Указывает тип трассировки метода.
none
Не выполнять трассировку этого метода. Аналогично выбору NOT для параметра Анализ времени выполнения в окне Конфигурация профайла в рабочей среде.
normal
Трассировать все методы, не подпадающие под фильтрацию.
boundary
Трассировать все методы, не подпадающие под фильтрацию И все граничащие методы. То же самое, что и выбранные в рабочей среде Конфигурация профилирования > Анализ времени выполнения > Собирать граничащие классы, запрещенные фильтром.
contiguous
Трассировать все методы, не попадающие под фильтрацию И все отфильтрованные методы, попавшие в стек вызова метода и находящиеся между двумя методами, не входящими в фильтр. Например, метод methodA вызывает methodB, который, в свою очередь, вызывает methodC, и тот, наконец, вызывает methodD. Предположим, что methodA и methodD не попали в фильтр, а methodB и methodC отфильтровываются. Так как methodB и methodC находятся между двумя нефильтруемыми методами, они также будут трассироваться.
boundaryAndContiguous
Ведет себя точно так же, как при указании в STACK_INFORMATION обеих опций - и contiguous, и boundary.
BOUNDARY_DEPTH
Указывает глубину трассировки границ, если STACK_INFORMATION=boundary или boundaryAndContiguous.
Integer
Целочисленное значение глубины трассировки граничащих объектов.
TICKET
Указывает, должен ли отображаться в трассировке атрибут ticket.
true
Атрибут Ticket будет отображаться в трассировке.
false
Атрибут Ticket не будет отображаться в трассировке.
TRACE_MODE
Указывает режим трассировки. В большинстве случаев это означает, будет ли храниться информация об объекте (куче) или нет. ('none' имеет особое назначение.)
full
Трассировать всю доступную информацию об объекте. То есть, для объекта трассировать выделение памяти, а для метода - объекты, связанные с вызовами этого метода (если параметр STACK_INFORMATION предусматривает трассировку метода).
none
Не трассировать ничего. (Это значение переопределяет параметр STACK_INFORMATION, даже если в нем задана трассировка вызовов метода.)
noObjectCorrelation
Не трассировать информацию об объекте. В трассировке вызова этого метода можно задать значение, отличное от значения 'none', (если STACK_INFORMATION задан соответствующим образом), но при этом не будут трассироваться ни объекты, связанные с вызовами метода, ни выделение объектам ресурсов.
TRACE_ID_REFS
Указывает, должен ли выводиться в трассировке атрибут id reference. Атрибут reference id - это уникальный идентификатор трассировки.
true
Выводить атрибут trace id reference.
false
Не выводить атрибут trace id reference.

Связанные задачи
Профилирование приложения
Профилирование приложения в автономном режиме

Связанные справочники
Ограничения при профилировании приложения в AS/400