Откройте профилировщик производительности (ALT + F2 или отладку —> профилировщик производительности) в Visual Studio.
Установите флажок .NET счетчиков.
выбран инструмент счетчиков
Нажмите кнопку Пуск, чтобы запустить инструмент.
Для получения дополнительной информации о том, как оптимизировать производительность инструментов, см. раздел Параметры оптимизации профилировщика.
Поймите свои данные
Пока средство изначально собирает данные, вы можете видеть текущие значения счетчиков dotnet .
Вы также можете просматривать графы счетчиков, установив флажок рядом с именами счетчиков. Графики нескольких счетчиков можно отображать одновременно.
Завершив выполнение приложения и сбор данных, вы можете остановить сбор данных для еще более подробного отчета. Для этого нажмите кнопку Остановить сбор.
После загрузки отчета вы увидите завершенный отчет, аналогичный приведенному ниже.
В отчете показаны следующие значения:
Min — минимальное значение для этого счетчика в выбранном диапазоне времени.
Max — максимальное значение для этого счетчика в выбранном диапазоне времени.
Среднее — среднее значение для этого счетчика в выбранном диапазоне времени.
Вы можете фильтровать или добавлять столбцы в таблицу, щелкнув правой кнопкой мыши заголовки столбцов и выбрав заголовок.
Вы также можете просматривать графики в подробном отчете, выбрав флажки рядом с счетчиками. Данные в таблицах отображают величины, охватывающие всю продолжительность вашей собранной трассировки по умолчанию. Чтобы отфильтровать данные до определенного диапазона времени, щелкните и перетащите диаграммы.
Таблица обновляет соответствующие значения для времени, выбранного в графах. Используйте кнопку "Очистить выделение", чтобы сбросить выбранный диапазон времени на всю трассировку.
Просмотр данных счетчика .NET Meter
Начиная с Visual Studio 2022 версии 17.8, средство счетчиков .NET поддерживает интеграцию с API .NET Meter, добавив поддержку параметров инструментирования, таких как Counter и ObservableCounter.
Counter отслеживает значение, изменяющееся со временем, при этом вызывающий сообщает об обновлениях с помощью Counter.Add. В отличие от этого, ObservableCounter аналогично Counter, но вызывающий отвечает за отслеживание общего значения. Инструмент .NET Counters сообщает о скорости изменения общего количества.
Начиная с Visual Studio 2022 версии 17.12 (предварительная версия 2), средство счетчиков .NET поддерживает интеграцию гистограмм .NET Meter.
Гистограмма .NET Meter позволяет выявлять и анализировать данные гистограммы, созданные с помощью инструментов гистограммы .NET, записанные с помощью CreateHistogram. При записи данных с помощью инструмента гистограммы результаты визуализированы, обеспечивая четкое представление распределения данных.
Данные гистограммы в реальном времени отображаются с остальными счетчиками под именем экземпляра Счетчика.
Чтобы открыть граф гистограммы, выберите имя инструмента для экземпляра измерения, как показано здесь.
В предыдущем примере средство отображает данные для 50-го, 90-го и 95-го процентили записанных измерений.
Узнайте о наблюдаемости и реализации его в облачном приложении. Используйте пакеты OpenTelemetry для вывода журналов, метрик и трассировки данных и анализа данных в Application Insights и сторонних приложениях.
С помощью инструмента .NET Async можно проанализировать производительность асинхронного кода. Для каждой из перечисленных задач задано время. Чтобы просмотреть код, используйте команду перехода к исходному файлу.
Узнайте, как использовать отладчик Visual Studio PerfTips и интегрированные средства диагностики для мониторинга и анализа производительности приложения во время отладки.
Узнайте о средстве производительности профилировщика ЦП, которое показывает время и процент, потраченное на выполнение кода в приложениях C++, C#, Visual Basic и JavaScript.
Устранение ошибок профилирования, включая отсутствие данных в фильтрах, медленных результатах и недоступности сведений об источнике, а также следуйте инструкциям по устранению проблем с сообщением об ошибке.
Используйте средство базы данных для записи запросов к базе данных приложения и анализа запросов, чтобы найти способы повышения производительности приложения.