Localize e diagnostique exceções de runtime com o Application Insights

O Application Insights coleta telemetria de seu aplicativo para ajudar a identificar e diagnosticar exceções de runtime. Este tutorial o conduz por esse processo com o seu aplicativo. Você aprenderá como:

  • Modifique seu projeto para habilitar o acompanhamento de exceção.
  • Identifique exceções para diferentes componentes de seu aplicativo.
  • Exibir detalhes de uma exceção.
  • Baixe um instantâneo de exceção para o Visual Studio para depuração.
  • Analise detalhes de solicitações com falha usando a linguagem de consulta.
  • Crie um novo item de trabalho para corrigir o código com defeito.

Pré-requisitos

Para concluir este tutorial:

  • Instale o Visual Studio 2019 com as cargas de trabalho a seguir:
    • Desenvolvimento Web e ASP.NET
    • Desenvolvimento do Azure
  • Baixe e instale o Depurador de Instantâneo do Visual Studio.
  • Habilitar o Depurador de Instantâneos do Visual Studio
  • Implantar um aplicativo .NET no Azure e habilitar o SDK do Application Insights
  • Modifique seu código em seu ambiente de desenvolvimento ou teste para gerar uma exceção, pois o tutorial rastreia a identificação de uma exceção no seu aplicativo.

Entrar no Azure

Entre no portal do Azure.

Analisar falhas

O Application Insights coleta as falhas do aplicativo. Ele permite que você exiba sua frequência em diferentes operações para ajudá-lo a concentrar seus esforços nos problemas de maior impacto. Analise detalhadamente essas falhas para identificar a causa raiz.

  1. Selecione Application Insights e, em seguida, selecione sua assinatura.

  2. Para abrir o painel Falhas, selecione Falhas no menu Investigar ou selecione o gráfico Solicitações com falha.

    Captura de tela que mostra solicitações com falha.

  3. O painel Solicitações com falha mostra a contagem de solicitações com falha e o número de usuários afetados para cada operação do aplicativo. Ao classificar essas informações por usuário, você pode identificar as falhas que mais afetam os usuários. Neste exemplo, GET Employees/Create e GET Customers/Details são candidatos prováveis para investigação devido ao grande número de falhas e usuários afetados. A seleção de uma operação mostra mais informações sobre essa operação no painel direito.

    Captura de tela que mostra o painel de solicitações Com falha.

  4. Reduza a janela de tempo para ampliar o período em que a taxa de falhas mostra um pico.

    Captura de tela que mostra a janela de solicitações Com falha.

  5. Veja as amostras relacionadas selecionando o botão com o número de resultados filtrados. As amostras Sugeridas têm telemetria relacionada de todos os componentes, mesmo que a amostragem possa ter ocorrido em algum deles. Selecione um resultado de pesquisa para ver os detalhes da falha.

    Captura de tela que mostra as amostras de solicitação Com falha.

  6. Os detalhes da solicitação com falha exibem o gráfico de Gantt que mostra que houve duas falhas de dependência nesta transação, que também contribuíram para mais de 50% da duração total da transação. Essa experiência apresenta toda a telemetria entre os componentes de um aplicativo distribuído relacionado a essa ID da operação. Você pode selecionar qualquer um dos itens para ver seus detalhes no lado direito.

    Captura de tela que mostra os detalhes da solicitação Com falha.

  7. O detalhe das operações também mostra uma exceção de formato, que parece ter causado a falha. Você verá que é por causa de um CEP inválido. Abra o instantâneo de depuração para ver informações de depuração em nível de código no Visual Studio.

    Captura de tela que mostra detalhes da exceção.

Como identificar falhas de código

O depurador de instantâneo coleta instantâneos das exceções mais frequentes em seu aplicativo para ajudá-lo a diagnosticar a causa raiz em produção. Você pode exibir instantâneos de depuração no portal para ver a pilha de chamadas e inspecionar variáveis em cada quadro da pilha de chamadas. Posteriormente, você pode depurar o código-fonte baixando o instantâneo e abrindo-o no Visual Studio 2019 Enterprise.

  1. Nas propriedades da exceção, selecione Abrir instantâneo de depuração.

  2. O painel Instantâneo de Depuração é aberto com a pilha de chamadas da solicitação. Selecione qualquer método para exibir os valores de todas as variáveis locais no momento da solicitação. Começando pelo método superior neste exemplo, você verá variáveis locais que não têm valor.

    Captura de tela que mostra o painel Instantâneo de Depuração.

  3. A primeira chamada com valores válidos é ValidZipCode. Você verá que um CEP foi fornecido com letras que não podem ser traduzidas em um número inteiro. Esse problema parece ser o erro no código que precisa ser corrigido.

    Captura de tela que mostra um erro no código que deve ser corrigido.

  4. Em seguida, baixe esse instantâneo no Visual Studio, onde você poderá localizar o código real que deve ser corrigido. Para fazer isso, selecione Baixar Instantâneo.

  5. O instantâneo é carregado no Visual Studio.

  6. Agora você pode executar uma sessão de depuração no Visual Studio Enterprise que identifique rapidamente a linha de código que causou a exceção.

    Captura de tela que mostra uma exceção no código.

Usar dados de análise

Todos os dados coletados pelo Application Insights são armazenados na Análise de Logs do Azure, que fornece uma linguagem de consulta avançada que você pode usar para analisar os dados de várias maneiras. É possível usar esses dados para analisar as solicitações que geraram a exceção que você está pesquisando.

  1. Selecione as informações do CodeLens acima do código para exibir a telemetria fornecida pelo Application Insights.

    Captura de tela que mostra o código no CodeLens.

  2. Selecione Analisar impacto para abrir a Análise do Application Insights. Ele é preenchido com várias consultas que fornecem detalhes sobre solicitações com falha, como usuários, navegadores e regiões afetados.

    Captura de tela que mostra a janela do Application Insights que inclui várias consultas.

Adicionar um item de trabalho

Se você conectar o Application Insights a um sistema de rastreamento, como Azure DevOps ou GitHub, poderá criar um item de trabalho diretamente do Application Insights.

  1. Retorne ao painel Propriedades de Exceção no Application Insights.

  2. Selecione Novo Item de Trabalho.

  3. O painel Novo Item de Trabalho é aberto com detalhes sobre a exceção já preenchida. Você pode adicionar mais informações antes de salvá-las.

    Captura de tela que mostra o painel Novo Item de Trabalho.

Próximas etapas

Agora que você aprendeu a identificar as exceções de runtime, avance para o próximo tutorial para saber como identificar e diagnosticar problemas de desempenho.