Hitta och diagnostisera körningsundantag med Azure Application Insights

Azure Application Insights samlar in telemetri från ditt program för att identifiera och diagnostisera körningsundantag. I den här kursen går vi igenom den här processen med ditt program. Lär dig att:

  • ändra ditt projekt för att aktivera undantagsspårning
  • identifiera undantag för olika komponenter i programmet
  • visa information om ett undantag
  • ladda ned en ögonblicksbild av undantaget till Visual Studio för felsökning
  • analysera information om misslyckade förfrågningar med frågespråk
  • skapa ett nytt arbetsobjekt för att åtgärda den felaktiga koden.

Förutsättningar

För att slutföra den här kursen behöver du:

Logga in på Azure

Logga in på Azure Portal på https://portal.azure.com .

Analysera fel

Application Insights samlar in eventuella fel i programmet, och du kan se frekvensen över olika åtgärder så att du kan fokusera på de som påverkar upplevelsen mest. Du kan sedan detaljgranska informationen om dessa fel och identifiera grundorsaken.

  1. Välj Application Insights och sedan din prenumeration.

  2. Du kan öppna panelen Fel genom att antingen välja Fel på menyn Undersök eller klicka på diagrammet Misslyckade förfrågningar.

    Misslyckade förfrågningar

  3. I panelen Misslyckade förfrågningar visas antalet misslyckade förfrågningar och hur många användare som påverkats för varje åtgärd i programmet. Om du sorterar informationen efter användare kan du se vilka fel som påverkar användarna mest. I det här exemplet är GET Employees/Create och GET Customers/Details lämpliga kandidater att undersöka på grund av det stora antalet fel och användare som påverkats. Om du väljer en åtgärd visas ytterligare information om åtgärden i den högra panelen.

    Panelen Misslyckade förfrågningar

  4. Minska tidsfönstret och zooma in på den period där felfrekvensen har en topp.

    Fönstret Misslyckade förfrågningar

  5. Du kan visa relaterade exempel genom att klicka på knappen med antalet filtrerade resultat. De föreslagna exemplen har relaterad telemetri från alla komponenter, även om sampling kan ha förekommit. Klicka på ett sökresultat om du vill se information om felet.

    Exempel på misslyckade begäranden

  6. Informationen om den misslyckade begäran visar Gantt-diagrammet som visar att det uppstod två beroendefel i transaktionen. Det gav upphov till över 50 % av den totala varaktigheten för transaktionen. Den här upplevelsen visar all telemetri, för alla komponenter i ett distribuerat program, som är relaterade till det här åtgärds-ID:t. Läs mer om den nya upplevelsen Du kan välja valfritt objekt och visa information om det på höger sida.

    Information om misslyckade begäranden

  7. I driftinformationen visas också ett FormatException-undantag som verkar ha orsakat felet. Du kan se att orsaken är ett ogiltigt postnummer. Du kan öppna ögonblicksbilden för felsökningen om du vill se felsökningsinformation på kodnivå i Visual Studio.

    Undantagsinformation

Identifiera felaktig kod

Snapshot Debugger samlar in ögonblicksbilder av de vanligaste undantagen i ditt program, som är till hjälp när du ska diagnostisera grundorsaken i produktion. Du kan visa de här ögonblicksbilderna i portalen, se anropsstacken och inspektera variablerna på varje nivå av stacken. Därefter har du möjlighet att felsöka källkoden genom att ladda ned ögonblicksbilden och öppna den i Visual Studio 2019 Enterprise.

  1. Klicka på Open debug snapshot (Öppna ögonblicksbild för felsökning) i egenskaperna för undantaget.

  2. Panelen Debug Snapshot (Ögonblicksbild för felsökning) öppnas med anropsstacken för förfrågningen. Om du klickar på en metod visas värdena för alla lokala variabler vid tidpunkten för förfrågningen. Om du börjar med den översta metoden i det här exemplet ser vi att det finns lokala variabler som inte har något värde.

    Ögonblicksbild för felsökning

  3. Det första anropet som har giltiga värden är ValidZipCode, och vi kan se att ett postnummer angavs tillsammans med bokstäver som inte kan översättas till ett heltal. Det här verkar vara felet i koden som måste åtgärdas.

    Skärmbild som visar ett fel i koden som måste åtgärdas.

  4. Sedan kan du ladda ned den här ögonblicksbilden till Visual Studio och leta rätt på den faktiska kod som behöver åtgärdas. Det gör du genom att klicka på Ladda ned ögonblicksbild.

  5. Ögonblicksbilden läses in i Visual Studio.

  6. Nu kan du köra en felsökningssession i Visual Studio Enterprise som snabbt identifierar vilken kodrad som orsakade undantaget.

    Undantag i kod

Använda analysdata

Alla data som samlas in av Application Insights lagras i Azure Log Analytics, så att du har tillgång till ett funktionsrikt frågespråk som hjälper dig att analysera data på en mängd olika sätt. Vi kan använda informationen till att analysera de förfrågningar som genererat undantaget vi undersöker.

  1. Klicka på CodeLens-informationen över koden om du vill visa telemetrin som tillhandahålls av Application Insights.

    Kod

  2. Klicka på Analyze impact (Analysera påverkan) för att öppna Application Insights Analytics. Det fylls i med flera frågor som kan ge detaljerad information om misslyckade förfrågningar, till exempel vilka användare, webbläsare och regioner som påverkas.

    Skärmbild som visar Insights program som innehåller flera frågor.

Lägg till arbetsobjekt

Om du ansluter Application Insights till ett spårningssystem som Azure DevOps eller GitHub kan du skapa ett arbetsobjekt direkt från Application Insights.

  1. Återgå till panelen Exception Properties (Egenskaper för undantag) i Application Insights.

  2. Klicka på Nytt arbetsobjekt.

  3. Panelen Nytt arbetsobjekt öppnas med detaljer om undantaget ifyllda. Du kan lägga till ytterligare information innan du sparar objektet.

    Nytt arbetsobjekt

Nästa steg

Nu när du har lärt dig hur du identifierar körningsundantag går du vidare till nästa självstudie, där du får lära dig hur du identifierar och diagnostiserar prestandaproblem.