Поделиться через


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

Теперь, когда вы настроили и сконфигурировали оптимизацию кода в приложении, получите доступ и просмотрите полученную аналитику.

Оптимизация кода доступа

Вы можете получить доступ к оптимизации кода с помощью двух основных точек входа:

Через сводную страницу обзора оптимизаций кода (предварительная версия)

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

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

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

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

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

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

Через отдельные ресурсы Application Insights

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

Снимок экрана оптимизаций кода, находящихся в панели

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

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

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

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

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

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

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

Память

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

ЦП

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

Блокировка

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

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

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

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

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

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

Выводы

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

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

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

Замечание

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

Стек вызовов

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

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

Снимок экрана: заголовок стека вызовов в области сведений для конкретного результата C-P-U, полученного ранее.

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

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

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

Снимок экрана: влияние тренда C-P-U в течение семи дней.

Дальнейшие действия