Отладка приложений с помощью Azure Application Insights в Visual StudioDebug your applications with Azure Application Insights in Visual Studio

В Visual Studio 2015 и более поздних версиях можно анализировать производительность веб-приложения ASP.NET и диагностировать проблемы во время отладки и в рабочей среде с помощью телеметрии из Azure Application Insights.In Visual Studio (2015 and later), you can analyze performance and diagnose issues in your ASP.NET web app both in debugging and in production, using telemetry from Azure Application Insights.

Если вы создали веб-приложение ASP.NET с помощью Visual Studio 2017 или более поздней версии, оно уже содержит пакет SDK Application Insights.If you created your ASP.NET web app using Visual Studio 2017 or later, it already has the Application Insights SDK. Если вы используете другую версию, добавьте Application Insights в свое приложение, если вы еще это не сделали.Otherwise, if you haven't done so already, add Application Insights to your app.

Чтобы отслеживать приложение в рабочей среде, можно просматривать данные телеметрии Application Insights на портале (там же можно настроить оповещения и применить эффективные средства мониторинга).To monitor your app when it's in live production, you normally view the Application Insights telemetry in the Azure portal, where you can set alerts and apply powerful monitoring tools. Но для приложения в состоянии отладки можно также искать и анализировать данные телеметрии в Visual Studio.But for debugging, you can also search and analyze the telemetry in Visual Studio. С помощью Visual Studio вы можете анализировать телеметрию рабочего сайта и выполнения отладки на компьютере разработчика.You can use Visual Studio to analyze telemetry both from your production site and from debugging runs on your development machine. В последнем случае вы можете анализировать выполнения отладки, даже если вы еще не настроили пакет SDK для отправки данных телеметрии на портал Azure.In the latter case, you can analyze debugging runs even if you haven't yet configured the SDK to send telemetry to the Azure portal.

Отладка проектаDebug your project

Нажмите клавишу F5, чтобы запустить веб-приложение в режиме локальной отладки.Run your web app in local debug mode by using F5. Откройте разные страницы, чтобы создать некоторый объем данных телеметрии.Open different pages to generate some telemetry.

В Visual Studio вы видите число событий, которые были зарегистрированы модулем Application Insights в вашем проекте.In Visual Studio, you see a count of the events that have been logged by the Application Insights module in your project.

В Visual Studio кнопка Application Insights доступна во время отладки.

Нажмите эту кнопку для поиска данных телеметрии.Click this button to search your telemetry.

В окне поиска Application Insights отображаются события, которые были зарегистрированы.The Application Insights Search window shows events that have been logged. (Если во время настройки Application Insights вы вошли в Azure, эти же события вы можете найти на портале Azure.)(If you signed in to Azure when you set up Application Insights, you can search the same events in the Azure portal.)

Щелкните проект правой кнопкой мыши и последовательно выберите пункты "Application Insights" и "Поиск".

Примечание

Выберите фильтры или отмените их выбор. Нажмите кнопку поиска в конце текстового поля поиска.After you select or deselect filters, click the Search button at the end of the text search field.

Бесплатный полнотекстовый поиск охватывает все поля в журнале событий.The free text search works on any fields in the events. Например, можно выполнить поиск по фрагменту URL-адреса страницы, а также по значению свойства (например, город клиента) или ключевым словам в журнале трассировки.For example, search for part of the URL of a page; or the value of a property such as client city; or specific words in a trace log.

Выберите любое событие, чтобы подробно просмотреть его свойства.Click any event to see its detailed properties.

Чтобы выполнить запрос к веб-приложению, щелкните код.For requests to your web app, you can click through to the code.

В разделе сведений о запросе щелкните код

Чтобы продиагностировать невыполненные запросы или исключения, вы можете открыть связанные элементы.You can also open related items to help diagnose failed requests or exceptions.

В разделе сведений о запросе прокрутите страницу вниз до связанных элементов

Просмотр исключений и неудачно завершенных запросовView exceptions and failed requests

Отчеты об исключениях отображаются в окне поиска.Exception reports show in the Search window. В некоторых типах приложений ASP.NET предыдущих версий необходимо настроить отслеживание исключений, чтобы просматривать исключения, которые обрабатываются платформой.(In some older types of ASP.NET application, you have to set up exception monitoring to see exceptions that are handled by the framework.)

Щелкните исключение, чтобы просмотреть трассировку стека.Click an exception to get a stack trace. Если код приложения открыт в среде Visual Studio, можно щелкнуть трассировку стека в соответствующей строке кода.If the code of the app is open in Visual Studio, you can click through from the stack trace to the relevant line of the code.

Трассировка стека исключений

Просмотр сводки по запросам и исключениям в кодеView request and exception summaries in the code

В строке CodeLens над каждым методом-обработчиком указано число запросов и исключений, зарегистрированных Application Insights за последние 24 часа.In the Code Lens line above each handler method, you see a count of the requests and exceptions logged by Application Insights in the past 24 h.

Трассировка стека исключений

Примечание

Группа связанных элементов кода показывает данные Application Insights, только если вы настроили приложение для отправки данных телеметрии на портал Application Insights.Code Lens shows Application Insights data only if you have configured your app to send telemetry to the Application Insights portal.

Телеметрия Application Insights в Visual Studio CodeLensMore about Application Insights in Code Lens

Тренды — это средство для визуализации того, как изменяется поведение приложения со временем.Trends is a tool for visualizing how your app behaves over time.

Нажмите кнопку Обзор трендов телеметрии на панели инструментов Application Insights или в окне поиска Application Insights.Choose Explore Telemetry Trends from the Application Insights toolbar button or Application Insights Search window. Выберите один из пяти стандартных запросов, чтобы приступить к работе.Choose one of five common queries to get started. Анализировать разные наборы данных можно на основе типов данных телеметрии, диапазонов времени и других свойств.You can analyze different datasets based on telemetry types, time ranges, and other properties.

Чтобы найти аномалии в данных, выберите один из вариантов аномалий в раскрывающемся списке "Тип представления".To find anomalies in your data, choose one of the anomaly options under the "View Type" dropdown. Параметры фильтрации в нижней части окна позволяют легко находить конкретные подмножества данных телеметрии.The filtering options at the bottom of the window make it easy to hone in on specific subsets of your telemetry.

Тенденции

Дополнительные сведения о тенденцияхMore about Trends.

Локальный мониторингLocal monitoring

(Относится к Visual Studio 2015 с обновлением 2) Если ваш пакет SDK не отправляет данные телеметрии на портал Application Insights (то есть в файле ApplicationInsights.config нет ключа инструментирования), в окне диагностики выводятся данные телеметрии, полученные в ходе последнего сеанса отладки.(From Visual Studio 2015 Update 2) If you haven't configured the SDK to send telemetry to the Application Insights portal (so that there is no instrumentation key in ApplicationInsights.config) then the diagnostics window displays telemetry from your latest debugging session.

Это предпочтительно, если вы уже опубликовали предыдущую версию своего приложения.This is desirable if you have already published a previous version of your app. Кроме того, не рекомендуется, чтобы данные телеметрии, полученные на ваших сеансах отладки, смешивались с данными телеметрии на портале Application Insights, полученными от опубликованного приложения.You don't want the telemetry from your debugging sessions to be mixed up with the telemetry on the Application Insights portal from the published app.

Это также полезно, если у вас есть данные пользовательской телеметрии , которые необходимо отладить перед отправкой на портал.It's also useful if you have some custom telemetry that you want to debug before sending telemetry to the portal.

  • Сначала мы полностью настроили Application Insights для отправки данных телеметрии на портал. Но теперь нужно, чтобы данные телеметрии отображались только в Visual Studio.At first, I fully configured Application Insights to send telemetry to the portal. But now I'd like to see the telemetry only in Visual Studio.

    • В параметрах окна поиска можно включить поиск локальной диагностики, который будет выполняться, даже если ваше приложение отправляет данные телеметрии на портал.In the Search window's Settings, there's an option to search local diagnostics even if your app sends telemetry to the portal.
    • Чтобы отключить отправку данных телеметрии на портал, закомментируйте строку <instrumentationkey>... из ApplicationInsights. config. Когда вы будете готовы отправить данные телеметрии на портал, раскомментируйте его.To stop telemetry being sent to the portal, comment out the line <instrumentationkey>... from ApplicationInsights.config. When you're ready to send telemetry to the portal again, uncomment it.

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

Добавление данныхAdd more data
Мониторинг использования, доступности, зависимостей и исключений.Monitor usage, availability, dependencies, exceptions. Интеграция трассировок из платформ ведения журналов.Integrate traces from logging frameworks. Написание пользовательской телеметрии.Write custom telemetry.
Visual studio
Работа с порталом Application InsightsWorking with the Application Insights portal
Просмотр панелей мониторинга, эффективных средств диагностики и анализа, оповещений, карты динамических зависимостей приложения, а также экспортированных данных телеметрии.View dashboards, powerful diagnostic and analytic tools, alerts, a live dependency map of your application, and exported telemetry data.
Visual studio