Непрерывное профилирование ЦП

Материал из Документация Ключ-АСТРОМ

Применение Ключ-АСТРОМ / Профилирование и оптимизация / Непрерывное профилирование ЦП

Ключ-АСТРОМ предлагает следующие возможности, позволяющие выполнять расширенный анализ ЦП на уровне кода:

  • Получите представление о процессах и хотспотах в группах процессов
  • Доступ к фоновой активности, активности служб, выполнению отдельных запросов и конкретным запросам
  • Разбивайте и фильтруйте данные по выполнению кода, сетевому вводу-выводу, дисковому вводу-выводу, времени блокировки и времени ожидания.
  • Разбивайте и фильтруйте данные по API с течением времени
  • Просмотр прямых трассировок стека и горячих точек с помощью обратных трассировок стека
  • Поддержка Java, .NET, .PHP, .Node.js и Golang.

Чтобы выполнить анализ ЦП на уровне кода:

  1. Перейдите в раздел Профилирование и выберите Непрерывное профилирование ЦП.
  2. Выберите группу процессов, содержащую процесс, который вы хотите проанализировать.
  3. Найдите процесс, который нужно проанализировать, и в столбце Действия выберите соответствующий значок Хотспоты метода, чтобы открыть страницу Хотспоты метода. 170.png

Варианты анализа

Чтобы проанализировать группу процессов, удалите фильтры.

Цветовая кодировка круговой диаграммы, диаграммы с областями и столбцов в стеке на уровне кода облегчает диагностику на уровне кода.

Для доступа к разбивке процессов выберите вкладку Лучшие API.

171.png

Чтобы просмотреть прямой стек трассировки, выберите вкладку Иерархия вызовов . Каждый перечисленный метод помечен именем и цветом API.

172.png

Выберите вкладку Хотспоты , чтобы просмотреть три основных хотспота с обратными трассировками стека.

173.png

Фильтр

При фильтрации времени выполнения и основных API представления Иерархия вызовов и Хотспоты наследуют заданные фильтры.

В следующем примере фильтрация по выполнению кода и встроенной JRE (выбор выполнения кода на вкладке Время выполнения и выбор встроенной JRE на вкладке Главные API ) показывает на вкладке Хотспоты , что большая часть времени выполнения встроенного API JRE приходится на вызов intervalProvider.js setInterval. Когда вы открываете кадры стека, вы можете определить виновника.

174.png