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.

  1. Seleccione Application Insights y, a continuación, seleccione la suscripción.

  2. Para abrir el panel Errores, seleccione Errores en el menú Investigar o seleccione en el grafo Solicitudes con errores.

    Captura de pantalla que muestra solicitudes con error.

  3. 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.

    Captura de pantalla que muestra el panel Solicitudes con errores.

  4. Reduzca la ventana de tiempo para acercar el periodo en el que la frecuencia de errores muestra un pico.

    Captura de pantalla que muestra la ventana Solicitudes con errores.

  5. 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.

    Captura de pantalla que muestra los ejemplos de solicitudes con error.

  6. 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.

    Captura de pantalla que muestra los detalles de la solicitud con error.

  7. 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.

    Captura de pantalla que muestra los detalles de la excepción.

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.

  1. En las propiedades de la excepción, seleccione Abrir instantánea de depuración.

  2. 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.

    Captura de pantalla que muestra el panel Depurar instantánea.

  3. 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.

    Captura de pantalla en la que aparece un error en el código que se debe corregir.

  4. Puede descargar esta instantánea en Visual Studio, donde puede buscar el código que se debe corregir. Para hacerlo, seleccione Descargar instantánea.

  5. La instantánea se carga en Visual Studio.

  6. 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.

    Captura de pantalla que muestra una excepción en el código.

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.

  1. Seleccione la información de CodeLens que encontrará encima del código para ver los datos de telemetría que proporciona Application Insights.

    Captura de pantalla que muestra el código en CodeLens.

  2. 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.

    La captura de pantalla muestra la ventana de Application Insights, con varias consultas.

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.

  1. Vuelva al panel Propiedades de excepción de Application Insights.

  2. Seleccione Nuevo elemento de trabajo.

  3. 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.

    Captura de pantalla que muestra el panel Nuevo elemento de trabajo.

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.