Профилирование приложения в автономном режиме
Можно профилировать приложение в автономном режиме (то есть из командной строки), без необходимости устанавливать Платформу средств тестирования и проверки производительности (TPTP). Однако, на компьютере, содержащем профилируемое приложение, должен быть установлен контроллер агентов.
Приложение в автономном режиме можно профилировать с помощью агента профилирования Java. Это библиотека, которая подключается к виртуальной машине Java
(JVM) для сбора и записи данных из приложений на Java. Вывод этого агента представлен в виде фрагментов XML.
Агент профилирования Java вызывается с помощью опции -Xrun команды Java:
-XrunpiAgent:agent_parm[,agent_parm]*
Например, чтобы выполнить профилирование PerformanceExample.java, используя фильтры, определенные в файле myFilters.txt, и направить выходные данные сеанса профилирования в файл PEProfilingData, следует ввести в командной строке следующую команду:
java -XrunpiAgent:server=standalone,filters=myFilters.txt,file=PEProfilingData.trcxml
PerformanceExample
- Note: Для того чтобы запустить из командной строки WebSphere Application Server
(WAS) версии 6 в режиме профилирования, выполните следующие шаги:
- Перейдите в каталог <profile root>/config/cells/<nodename>Cell/nodes/<nodename>/servers/server1
- Измените элемент jvmEntries в файле server.xml. В этом элементе содержится атрибут genericJvmArguments. Добавьте
-XrunpiAgent:server=enabled к значению атрибута.
- Перезапустите WAS.
-
- Изменяя параметр -XrunpiAgent, можно задать несколько различных режимов запуска агента профилирования. Значения параметра
agent_parm могут быть следующими:
- server=[standalone | enabled | controlled | application]
- standalone
- Агент профилирования запускается в автономном режиме, исключающем возможность управления им из рабочей среды. Сведения о конфигурации берутся из файлов конфигурации, а данные профилирования сохраняются в файле. Файл с этими данными потом можно будет импортировать в рабочую среду.
- Агент профилирования Java вручную подключается к экземпляру JVM и направляет данные профилирования в выходной файл. Стандартный выходной файл называется trace.trcxml, но с помощью параметра file=имя-файла можно указать для него другое имя. Если эта опция выбрана, то агент профилирования Java
генерирует содержащий элемент traceRoot, с помощью которого формируется полный документ в формате XML.
- enabled (Используется по умолчанию.)
- Агент профилирования запускается в JVM в фоновом режиме, не потребляя ресурсы до тех пор, пока не будет подключен к рабочей среде и не запустится собственно мониторинг. Затем данные проходят через канал данных агента и обрабатываются рабочей средой.
То есть, агент профилирования Java загружен, приложение работает в обычном режиме, но данные профилирования не генерируются до тех пор, пока агент не подключится к клиенту и тот не даст команды. Если эта опция указана, агент профилирования Java
генерирует не полный документ XML, а только XML-фрагменты.
- controlled
- Агент профилирования препятствует инициализации JVM (агент загружен, но запуск приложения блокируется) до тех пор, пока он не будет подключен из рабочей среды и не получит команду начать мониторинг.
То есть, если агент запущен в управляемом режиме, будет казаться, что запуск JVM заблокирован, до тех пор, пока не агент получит команду начать мониторинг. Он будет генерировать не полный документ XML, а только фрагменты XML.
- application
- Агент профилирования Java загружен, работает в фоновом режиме, при этом приложение работает обычным образом, как в режиме enabled.
- Данные профилирования генерируются только при соблюдении двух условий.
Во-первых, приложение должно получить запрос о начале профилирования с помощью org.eclipse.hyades.collection.profiler.Profiler, и во-вторых, агент профилирования Java
должен быть подключен к отлаживаемому клиенту рабочей среды, и мониторинг должен быть запущен.
- Примечание: Все профилирование управляется приложением с помощью класса
org.eclipse.hyades.collection.profiler.Profiler.
- profile=файл-профилирования
Эта опция доступна только если server=standalone. В этом файле содержатся опции, с которыми профилировщик будет запускаться в автономном режиме. Параметры, указанные в этом файле, обычно задаются в окне конфигурации профилирования, когда пользователь вызывает процесс Java из рабочей среды; использование этого файла равносильно установке параметров при работе в автономном режиме.
Файл можно загрузить двумя способами.
Список допустимых параметров для файла profile приведен в разделе Параметры фильтра автономного файла profile.
- filters=имя-файла
Применяется только если server=standalone.
Указывает имя файла, содержащего определения фильтров исходного класса, используемых во время сеанса профилирования. По умолчанию имя файла - filters.txt в текущем каталоге. Сведения о формате файла см. ниже.
- file=имя-файла
Применяется только если server=standalone.
Указывает имя файла, в который будут направляться данные профилирования. По умолчанию это файл trace.trcxml в текущем каталоге.
- help
Выводит список доступных параметров агента в STDOUT.
Формат файла фильтра класса
В файле фильтра необходимо указать три поля, пакет/класс, метод и режим в следующем формате:
пакет/класс метод режим
где:
- пакет/класс
- Это поле применяется для указания шаблона для имени пакета или класса. Шаблон должен быть указан одной строкой без пробелов. Строка может содержать одну звездочку (*) в начале или в конце, то есть *.пакет или org.компания.*. Символ * соответствует любому символу, таким образом шаблон получается префиксным или суффиксным. Сам символ * представляет любую строку.
- метод
- Это поле применяется для указания шаблона для имени метода. Шаблон должен быть указан одной строкой без пробелов и согласно тем
же правилам, что и для поля класс.
- режим
- Это поле указывает, будет ли пакет или класс, совпадающий с шаблоном включен в профилирование. Этот параметр может принимать значение INCLUDE или EXCLUDE.
Шаблоны фильтров обрабатываются в том порядке, в котором они заданы, до первого совпадения. Если класс не подпадает ни под один фильтр, то по умолчанию он включается (значение INCLUDE) в профилирование.
Управление агентом профилирования Java
Если агент профилирования Java запущен с параметром server=enabled
или server=controlled, то взаимодействие с ним осуществляется с помощью клиентской рабочей среды через Agent Controller на хосте.
Примечания
- Если вы не указываете в командной строке имя файла с определениями фильтров,
то агент профилирования Java пытается получить фильтры из файла с именем
filters.txt в текущем каталоге. Если файла filters.txt нет,
то сеанс профилирования будет работать без фильтров. Если в текущем каталоге создан файл фильтров filters.txt, то параметр filters в командной строке указывать не нужно.
- Если выходной файл для данных профилирования не указан, то по умолчанию эти данные сохраняются в файле trace.trcxml
- Расширение выходного файла указывать не требуется. Файл автоматически получает расширение .trcxml
- Также необязательно указывать расширение файла приложения на Java. Это файл с расширением .class.
Связанные концепции
Обзор утилиты профилирования
Ресурсы профилирования
Связанные задачи
Профилирование приложения в автономном режиме в AS/400
Запуск или подключение процесса Java
Применение панели Монитор профилирования
(C) Copyright IBM Corporation 2000, 2006.Все права
защищены.