Buscar y diagnosticar excepciones en tiempo de ejecución con Application Insights
Application Insights recopila datos de telemetría de cualquier aplicación para ayudarle a identificar y diagnosticar excepciones en tiempo de ejecución. Este tutorial le guiará por este proceso en la aplicación. Aprenderá a:
- Modificar el proyecto para habilitar el seguimiento de excepciones.
- Identificar excepciones en los distintos componentes de la aplicación.
- Ver los detalles de una excepción.
- Descargar una instantánea de la excepción en Visual Studio para su depuración.
- Analizar los detalles de las solicitudes con errores mediante un lenguaje de consulta.
- Crear un nuevo elemento de trabajo para corregir el código con errores.
Requisitos previos
Para completar este tutorial:
- Instale Visual Studio 2019 con las cargas de trabajo siguientes:
- ASP.NET y desarrollo web
- Desarrollo de Azure
- Descargue e instale Visual Studio Snapshot Debugger.
- Habilitación del depurador de instantáneas de Visual Studio
- Implementación de una aplicación .NET en Azure y habilitación del SDK de Application Insights
- Modifique el código en los entornos de desarrollo o en la prueba para generar una excepción, ya que el tutorial realiza un seguimiento de la identificación de una excepción en la aplicación.
Inicio de sesión en Azure
Inicie sesión en Azure Portal.
Análisis de errores
Application Insights recopila los errores de la aplicación. Le permite ver su frecuencia en las diferentes operaciones para ayudarle a enfocarse en los esfuerzos de solución para aquellos problemas con el mayor impacto. Puede profundizar más adelante en los detalles de dichos errores para identificar la causa principal.
Seleccione Application Insights y, a continuación, seleccione la suscripción.
Para abrir el panel Errores, seleccione Errores en el menú Investigar o seleccione en el grafo Solicitudes con errores.
El panel Solicitudes con errores muestra el número de solicitudes con errores y el número de usuarios afectados para cada operación en la aplicación. Al ordenar esta información por usuario, puede identificar los errores que más afectan a los usuarios. En este ejemplo, GET Employees/Create y GET Customers/Details son probables candidatos a los que investigar debido al gran número de errores y a la gran cantidad de usuarios afectados. Al seleccionar cualquier operación, se muestra más información acerca de la misma en el panel derecho.
Reduzca la ventana de tiempo para acercar el periodo en el que la frecuencia de errores muestra un pico.
Consulte los ejemplos relacionados al seleccionar en el botón con el número de resultados filtrados. Las muestras de Sugerencias tienen telemetría relacionada de todos los componentes, incluso si se ha aplicado el muestreo en cualquiera de ellos. Seleccione un resultado de búsqueda para ver los detalles del error.
Los detalles de la solicitud con errores muestran el gráfico de Gantt que indica que había dos errores de dependencia en esta transacción, que también contribuyen a más del 50 % de la duración total de la transacción. Esta experiencia presenta toda la telemetría, a través de los componentes de una aplicación distribuida que están relacionados con este identificador de operación. Puede seleccionar cualquiera de los elementos para ver sus detalles en el lado derecho.
Los detalles de las operaciones también muestran la excepción del formato, que parece que es lo que ha generado el error. Puede ver que se debe a un código postal no válido. Puede abrir la instantánea de depuración para ver información de depuración de nivel de código en Visual Studio.
Identificación de código con errores
Snapshot Debugger recopila instantáneas de las excepciones que se producen con más frecuencia en la aplicación para ayudarle a diagnosticar su causa principal en producción. Puede ver las instantáneas de depuración en el portal para examinar la pila de llamadas e inspeccionar las variables en cada marco de pila de llamadas. Posteriormente, puede depurar el código fuente descargando la instantánea y abriéndola en Visual Studio 2019 Enterprise.
En las propiedades de la excepción, seleccione Abrir instantánea de depuración.
Se abre el panel Depurar instantánea con la pila de llamadas de la solicitud. Seleccione cualquiera de los métodos para ver los valores de todas las variables locales en el momento de la solicitud. Si empezamos por el primero de los métodos de este ejemplo, puede ver variables locales que no tienen ningún valor.
La primera llamada que tiene valores válidos es ValidZipCode. Puede ver que se ha proporcionado un código postal con letras que no se pueden traducir en un entero. Este problema parece ser el error en el código que debe corregirse.
Puede descargar esta instantánea en Visual Studio, donde puede buscar el código que se debe corregir. Para hacerlo, seleccione Descargar instantánea.
La instantánea se carga en Visual Studio.
A partir de ese momento se puede ejecutar una sesión de depuración en Visual Studio Enterprise que identifique rápidamente la línea de código que provocó la excepción.
Uso de datos de análisis
Todos los datos que recopila Application Insights se almacenan en Azure Log Analytics, lo que proporciona un lenguaje de consulta completo que puede usar para analizar los datos de varias formas. Dichos datos se pueden usar para analizar las solicitudes que ha generado la excepción investigada.
Seleccione la información de CodeLens que encontrará encima del código para ver los datos de telemetría que proporciona Application Insights.
Seleccione Analizar impacto para abrir Application Insights Analytics. Contiene varias consultas que proporcionan detalles acerca de las solicitudes con errores, como los usuarios afectados, los exploradores usados y las regiones.
Agregar un elemento de trabajo
Si conecta Application Insights a un sistema de seguimiento, como GitHub y Azure DevOps, puede crear un elemento de trabajo directamente desde Application Insights.
Vuelva al panel Propiedades de excepción de Application Insights.
Seleccione Nuevo elemento de trabajo.
Se abre el panel Nuevo elemento de trabajo con detalles acerca la excepción ya rellenados. Puede agregar más información antes de guardar.
Pasos siguientes
Ahora que ha aprendido a identificar las excepciones en tiempo de ejecución, pase al siguiente tutorial, donde aprenderá a identificar y diagnosticar problemas de rendimiento.