Применение АппОптима / Профилирование и оптимизация / Непрерывное профилирование ЦП
АппОптима предлагает следующие возможности, позволяющие выполнять расширенный анализ ЦП на уровне кода:
- Получите представление о процессах и хотспотах в группах процессов
- Доступ к фоновой активности, активности служб, выполнению отдельных запросов и конкретным запросам
- Разбивайте и фильтруйте данные по выполнению кода, сетевому вводу-выводу, дисковому вводу-выводу, времени блокировки и времени ожидания.
- Разбивайте и фильтруйте данные по API с течением времени
- Просмотр прямых трассировок стека и горячих точек с помощью обратных трассировок стека
- Поддержка Java, .NET, .PHP, .Node.js и Golang.
Чтобы выполнить анализ ЦП на уровне кода:
- Перейдите в раздел Профилирование и выберите Непрерывное профилирование ЦП.
- Выберите группу процессов, содержащую процесс, который вы хотите проанализировать.
- Найдите процесс, который нужно проанализировать, и в столбце Действия выберите соответствующий значок Хотспоты метода, чтобы открыть страницу Хотспоты метода.
Варианты анализа
Чтобы проанализировать группу процессов, удалите фильтры.
Цветовая кодировка круговой диаграммы, диаграммы с областями и столбцов в стеке на уровне кода облегчает диагностику на уровне кода.
Для доступа к разбивке процессов выберите вкладку Лучшие API.
Чтобы просмотреть прямой стек трассировки, выберите вкладку Иерархия вызовов . Каждый перечисленный метод помечен именем и цветом API.
Выберите вкладку Хотспоты , чтобы просмотреть три основных хотспота с обратными трассировками стека.
Фильтр
При фильтрации времени выполнения и основных API представления Иерархия вызовов и Хотспоты наследуют заданные фильтры.
В следующем примере фильтрация по выполнению кода и встроенной JRE (выбор выполнения кода на вкладке Время выполнения и выбор встроенной JRE на вкладке Главные API ) показывает на вкладке Хотспоты , что большая часть времени выполнения встроенного API JRE приходится на вызов intervalProvider.js setInterval
. Когда вы открываете кадры стека, вы можете определить виновника.