Указание условий профилирования

Для профилирования приложения необходимо в сборщике данных Профилирование Java выбрать один или несколько типов анализа. Сборщики данных задают способ сбора данных, а типы анализа указывают, данные каких типов будут собраны. Фильтры обеспечивают вывод в панель только той информации, которая необходима в данный момент. Использование фильтров особенно полезно, когда критичны скорость и производительность: чем меньше данных, тем меньше их влияние на систему и тем быстрее эти данные могут быть собраны.

Предварительные требования:

Настройку критериев профилирования приложения можно разбить на следующие подзадачи:

Выбор сборщиков данных и типов анализа

  1. В конфигурации профилирования выберите вкладку Монитор.
  2. В древовидной структуре сборщики данных располагаются на корневом уровне, а типы анализа - на уровне дочерних элементов сборщиков данных. Разверните сборщик данных 'Профилирование Java'. Под ним будут располагаться типы анализа (например, 'Анализ основной памяти', 'Анализ времени выполнения').
    Выберите из них необходимые типы анализа. Обратите внимание на количество выбранных типов. Слишком большое число выбранных типов анализа значительно снизит производительность приложения. С помощью приведенной ниже таблицы выясните, какие типы профилирования следует включить для создания различных панелей и узнайте о возможных способах применения каждого типа профилирования. Настройка опций описана в следующем разделе.
    Тип анализа Выбранные опции Доступные панели Приложение
    Анализ памяти нд Панель Статистика памяти (Пакет, Класс, Метод), Панель Ссылки объектов* Анализ утечки памяти, Выявление классов, требовательных к памяти
    Анализ памяти Расширенный >> выбран переключатель сведений Уровня экземпляра Панель Статистика памяти (Пакет, класс, метод, экземпляр) панель Ссылки на объекты* Анализ утечки памяти, Проверка сбора мусора
    Анализ времени Показать статистику выполнения (сжатые данные) Статистика выполнения (Пакет, Класс, Метод) Статистика охвата Просмотр вызовов метода
    Анализ времени Показать статистику выполнения (сжатые данные), Дополнительно >> Собрать сведения уровня экземпляра Статистика выполнения (Пакет, Класс, Метод, Экземпляр) Статистика охвата Просмотр статистики пакета, класса или метода для каждого экземпляра, Просмотр вызовов метода
    Анализ времени Показать графические сведения о выполнении Статистика выполнения (Пакет, Класс, Метод), Статистика охвата, Панель Поток выполнения, Панели Схема связей UML2 (объект, класс, нить) Определение активных нитей, Определение этапов выполнения программы
    Анализ времени Показать графические сведения о выполнении, Дополнительно >> Собрать сведения уровня экземпляра Статистика выполнения (Пакет, Класс, Метод, Экземпляр), Статистика охвата, Панель Ссылки на объекты*, Панель Поток выполнения, Панели Схема связей UML2 (объект, класс, нить) Определение активных нитей, Определение этапов выполнения программы
    Данные о прогоне кода нд Статистика охвата (Пакет, Класс, Метод) Просмотр данных о прогоне кода

    * Примечание: Для того чтобы просмотреть данные профилирования в панели Ссылки на объекты, необходимо собрать эти ссылки с помощью действия Собрать ссылки на объекты. Можно вызвать действие Собрать ссылки на объекты из панели инструментов панели Монитор профилирования, или щелкнув правой кнопкой на агенте в панели Монитор профилирования.

Настройка опций профилирования

Для настройки опций профилирования для сборщика данных Профилирование Java или для определенных типов анализа выберите нужный объект и нажмите Изменить опцию.

Для настройки опций профилирования для сборщика данных Профилирование Java выполните следующие действия:

  1. Выделите объект Профилирование Java и нажмите Изменить опцию
  2. На странице Набор фильтров укажите набор фильтров, который следует применить, выбрав его из списка Выбрать набор фильтров. Можно воспользоваться значением По умолчанию.
  3. На странице Содержимое выбранных фильтров нажмите Добавить и добавьте пакеты, данные о которых необходимо собрать. Откроется окно Добавить фильтр. Можно использовать символ звездочки для подстановки при указании имени пакета или метода.
    Примечание 1. При вводе шаблона для имени пакета или метода, он должен быть указан одним из следующих способов:
    Примечание 2. Некоторые классы будут видны всегда в панелях профилирования, независимо от фильтра. При сборе данных о задаче агент профилирования всегда будет собирать данные для связанных с ней объектов и классов. Например, вы задаете фильтр для сбора данных одного класса MyUserClass, и указываете другой фильтр, исключающий классы java.lang.*. Когда экземпляр MyUserClass загрузится, будет загружено и определение класса. С этим определением связан объект класса, который, в свою очередь, принадлежит типу java.lang.Class. Таким образом, данные будут собираться не только для класса MyUserClass, но и для класса java.lang.Class.
    Точно так же ведут себя и нити. Класс java.lang.Thread будет всегда виден в панели профилирования, поскольку агент отслеживает все работающие нити, и следовательно, собирает данные для объектов или классов, связанных с этими нитями.

    Точно так же ведут себя и нити. Класс java.lang.Thread будет всегда виден в панели профилирования, поскольку агент отслеживает все работающие нити, и следовательно, собирает данные для объектов или классов, связанных с этими нитями.
  4. Укажите Пакет или класс, Имя метода и выберите Включить из выпадающего списка Правила.
  5. Нажмите кнопку OK. Критерий фильтрации добавится в список данных.
  6. Для исключения из списка фильтрации остальных пакетов найдите столбец Правило, щелкните на Включить и замените его на Исключить.
  7. Нажмите Далее
  8. Для ограничения количества собираемых данных путем настройки количества методов включите переключатель Прекратить профилирование после указанного количества вызовов метода. Это количество указывается в соответствующем поле ввода.
  9. Для ограничения данных по времени включите переключатель Прекратить профилирование по прошествии заданного времени. Это время (в секундах) указывается в соответствующем поле ввода.
  10. Агент профилирования можно запустить в режиме ожидания, чтобы он не собирал данные во время инициализации приложения. Для этого выключите переключатель Начинать управление автоматически при запуске приложения. Эту опцию рекомендуется использовать для больших приложений (например, при запуске экземпляра Рабочей среды), которыми необязательно управлять на стадии инициализации.
  11. Нажмите Готово
  12. Нажмите Применить, чтобы сохранить изменения.

Таким же образом можно настроить опции для типов анализа: выделите нужный тип и нажмите Изменить опцию.

Настройка назначения данных профилирования

Можно указать проект и монитор, которые будут использоваться в сеансе профилирования. Данные профилирования можно направить в файл.

  1. В конфигурации профилирования выберите вкладку Назначение.
  2. Укажите Проект профилирования, который будет использоваться в сеансе профилирования.
  3. Если необходимо, укажите Монитор.
  4. Если требуется сохранить данные профилирования в файле, выберите Направить данные профилирования в файл и укажите имя файла в поле Файл профилирования.
  5. Нажмите Применить, чтобы сохранить изменения.
  6. Нажмите Профайл для начала профилирования приложения.
Подсказка: При фильтрации применяется первый фильтр. При указании фильтров убедитесь в том, что основные критерии фильтрации объявлены в начале.

Связанные концепции
Обзор утилиты профилирования

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