Просмотр результатов оптимизации кода

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

оптимизация кода Access

Оптимизация кода доступа через две точки входа:

Сводная страница оптимизаций кода (предварительный просмотр)

Просмотрите результаты оптимизации кода с помощью страницы обзора оптимизации кода. В этом консолидированном обзоре можно получить доступ к результатам по нескольким подпискам для нескольких ресурсов Application Insights.

Снимок экрана: страница сводной обзорной страницы оптимизации кода.

Вы можете отфильтровать консолидированные результаты, выполнив поиск поля фильтра или установив следующие фильтры:

Фильтр Описание По умолчанию
Диапазон времени Выберите диапазон времени, из которого нужно просмотреть результаты оптимизации кода. Последние 24 часа
Должность Имя роли, назначенное машине служб отчетности или рабочей нагрузке. Обновите его с помощью конфигурации Application Insights. Все роли
Подписка Подписка, к которой относится инсайт. Можно выбрать несколько. Не применимо
Application Insights Ресурс Application Insights, связанный с приложением. Выберите несколько. Не применимо
Тип аналитики Тип проблемы, например ЦП, память, блокировка и исключения. Все типы

Затем можно отсортировать столбцы в результатах аналитики в зависимости от требуемого представления, включая:

  • Проблема с производительностью
  • Полное имя родительского метода

Отдельные ресурсы Application Insights

Откройте оптимизации кода для отдельных ресурсов Application Insights в левом меню этого ресурса. Выберите "Исследовать>производительность " и нажмите кнопку "Оптимизация кода " в верхнем меню.

Снимок экрана: оптимизация кода, расположенная на странице

Отфильтруйте результаты для отдельного ресурса, выполнив поиск поля фильтра или установив следующие фильтры:

Фильтр Описание По умолчанию
Диапазон времени Выберите диапазон времени, из которого нужно просмотреть результаты оптимизации кода. Последние 24 часа
Должность Имя роли, назначенное машине служб отчетности или рабочей нагрузке. Его можно обновить с помощью конфигурации Application Insights. Все роли
Тип аналитики Тип проблемы, например ЦП, память, блокировка и исключения. Все типы

Затем отсортируйте столбцы в результатах аналитики на основе требуемого представления, включая:

  • Проблема с производительностью
  • Количество профилей, содержащих эту проблему
  • Полное имя родительского метода

Интерпретируйте расчётные процентные показатели пикового использования памяти и ЦП

Оптимизация кода определяет предполагаемый ЦП и память на основе количества действий в приложении. В дополнение к процентам памяти и ЦП оптимизация кода включает в себя:

  • Фактические размеры выделения (в байтах)
  • Структура выделенных типов в рамках вызова

Память

Для памяти число составляет процент всех выделений в трассировке. Например, если проблема занимает 24% памяти, вы тратите 24% выделения в этом вызове.

ЦП

Для ЦП процент зависит от количества ЦП на компьютере (например, четырехядерных или восьмиядерных) и времени трассировки. Например, предположим, что длительность трассировки — 10 секунд и у вас есть четыре процессора: тогда общее процессорное время составляет 40 секунд. Если в аналитических сведениях говорится, что строка кода использует 5% ресурсов ЦП, это эквивалентно использованию 5% от 40 секунд, или 2 секунды.

Блокировка

Анализ блокировок показывает, где потоки проводят время в ожидании ресурсов или событий, таких как операции ввода-вывода, блокировки или сон. Code Optimizations отображает время блокировки в секундах и суммирует его по всем потокам и ядрам, поэтому суммарные значения могут превышать длительность захвата, как и в случае с метриками CPU.

Используйте эту метрику для выявления узких мест задержки, таких как:

  • Блокировка конфликтов между потоками
  • Синхронные операции ввода-вывода
  • Блокировка вызовов в асинхронных операциях

Exceptions

Оптимизация кода извлекает аналитические сведения об исключениях из моментальных снимков, собираемых отладчиком моментальных снимков. Если в вашем приложении включен Отладчик моментальных снимков и он собирает моментальные снимки, Оптимизация кода автоматически обрабатывает их для извлечения полезной диагностической информации.

Просмотр аналитики

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

  • Подробное описание анализа ошибок производительности.
  • Полный стек вызовов.
  • Рекомендации по устранению проблемы с производительностью.
  • Временная шкала влияния и порогового значения тренда проблемы.

Выводы

Вкладка "Аналитика " предоставляет следующие возможности:

  • Краткое описание выбранной проблемы.
  • Текущее состояние использования памяти или ЦП вашего ресурса.
  • Рекомендация, созданная с помощью искусственного интеллекта, для устранения проблемы.

Снимок экрана: панель сведений для определенного результата оптимизации кода ЦП.

Замечание

Если вы не видите никаких аналитических сведений, скорее всего, служба оптимизации кода не заметила узких мест производительности в коде. Вернитесь позже, чтобы узнать, появляются ли какие-либо инсайты.

Стек вызовов

В области сведений об аналитике под заголовком Стек вызовов вы можете:

  • Выберите "Развернуть" , чтобы просмотреть полный стек вызовов, окружающий проблему производительности.
  • Выберите "Копировать", чтобы скопировать стек вызовов.

Скриншот заголовка стека вызовов в области сведений для конкретного результата ЦП, полученного ранее.

Снимок экрана: развернутый стек вызовов для конкретного результата ЦП, полученного ранее.

Временная шкала

В области сведений в разделе "Временная шкала" можно просмотреть график, показывающий временную шкалу влияния и порогового значения конкретной проблемы производительности. Результаты зависят от заданных фильтров. Например, аналитические сведения о проблеме с производительностью памяти "Неэффективная String.SubString()" за последние 24 часа могут выглядеть следующим образом:

Снимок экрана: влияние тенденции ЦП в течение семи дней.

Следующий шаг

Просмотреть оптимизации кода в Azure portal