Runtime-uitzonderingen zoeken en diagnosticeren met Application Insights

Application Insights verzamelt telemetriegegevens van uw toepassing om runtime-uitzonderingen te identificeren en diagnosticeren. In deze zelfstudie leert u dit proces met uw toepassing. In deze zelfstudie leert u procedures om het volgende te doen:

  • Wijzig uw project om het bijhouden van uitzonderingen in te schakelen.
  • Uitzonderingen identificeren voor verschillende onderdelen van uw toepassing.
  • Details van een uitzondering weergeven.
  • Download een momentopname van de uitzondering in Visual Studio voor foutopsporing.
  • Details van mislukte aanvragen analyseren met behulp van de querytaal.
  • Maak een nieuw werkitem om de defecte code te corrigeren.

Vereisten

Vereisten voor het voltooien van deze zelfstudie:

  • Installeer Visual Studio 2019 met de volgende workloads:
    • ASP.NET-ontwikkeling en webontwikkeling
    • Azure-ontwikkeling
  • Download en installeer de Visual Studio Snapshot Debugger.
  • Het foutopsporingsprogramma voor momentopnamen van Visual Studio inschakelen
  • Een .NET-toepassing implementeren in Azure en de Application Insights SDK inschakelen
  • Wijzig uw code in uw ontwikkel- of testomgeving om een uitzondering te genereren, omdat in de zelfstudie de identificatie van een uitzondering in uw toepassing wordt bijgehouden.

Aanmelden bij Azure

Meld u aan bij de Azure-portal.

Fouten analyseren

Met Application Insights worden eventuele fouten in uw toepassing verzameld. Hiermee kunt u de frequentie voor verschillende bewerkingen bekijken om u te helpen uw inspanningen te richten op problemen met de grootste impact. U kunt vervolgens inzoomen op details van deze fouten om de hoofdoorzaak te identificeren.

  1. Selecteer Application Insights en selecteer vervolgens uw abonnement.

  2. Als u het deelvenster Fouten wilt openen, selecteert u Fouten in het menu Onderzoeken of selecteert u de grafiek Mislukte aanvragen .

    Schermopname van mislukte aanvragen.

  3. In het deelvenster Mislukte aanvragen ziet u het aantal mislukte aanvragen en het aantal betrokken gebruikers voor elke bewerking voor de toepassing. Door deze informatie te sorteren op gebruiker, kunt u de fouten identificeren die het meest van invloed zijn op gebruikers. In dit voorbeeld zijn GET Employees/Create en GET Customers/Details waarschijnlijk kandidaten om te onderzoeken vanwege hun grote aantal fouten en betrokken gebruikers. Als u een bewerking selecteert, ziet u meer informatie over deze bewerking in het rechterdeelvenster.

    Schermopname van het deelvenster Mislukte aanvragen.

  4. Verklein het tijdvenster om in te zoomen op de periode waar het aantal fouten een piek vertoont.

    Schermopname van het venster Mislukte aanvragen.

  5. Bekijk de gerelateerde voorbeelden door de knop met het aantal gefilterde resultaten te selecteren. De voorgestelde voorbeelden bevatten gerelateerde telemetrie van alle onderdelen, zelfs als er in een van deze onderdelen steekproeven van kracht zijn geweest. Selecteer een zoekresultaat om de details van de fout te bekijken.

    Schermopname van de voorbeelden van mislukte aanvragen.

  6. De details van de mislukte aanvraag tonen het Gantt-diagram dat laat zien dat er twee afhankelijkheidsfouten zijn opgetreden in deze transactie, die ook hebben bijgedragen aan meer dan 50% van de totale duur van de transactie. In deze ervaring worden alle telemetriegegevens weergegeven voor onderdelen van een gedistribueerde toepassing die zijn gerelateerd aan deze bewerkings-id. U kunt een van de items selecteren om de details aan de rechterkant te bekijken.

    Schermopname van de details van mislukte aanvraag.

  7. De details van de bewerkingen tonen ook een indelingsuitzondering, die de fout lijkt te hebben veroorzaakt. U kunt zien dat dit komt door een ongeldige postcode. U kunt de momentopname van foutopsporing openen om foutopsporingsinformatie op codeniveau te bekijken in Visual Studio.

    Schermopname van uitzonderingsdetails.

Mislukt code identificeren

De Snapshot Debugger verzamelt momentopnamen van de meest frequente uitzonderingen in uw toepassing om u te helpen bij de diagnose van de onderliggende oorzaak in de productie. U kunt foutopsporingsmomentopnamen in het portaal bekijken om de aanroepstack te zien en variabelen inspecteren bij elk aanroepstackframe. Daarna kunt u fouten opsporen in de broncode door de momentopname te downloaden en te openen in Visual Studio 2019 Enterprise.

  1. Selecteer in de eigenschappen van de uitzondering Momentopname van foutopsporing openen.

  2. Het deelvenster Foutopsporingsmomentopname wordt geopend met de aanroepstack voor de aanvraag. Selecteer een methode om de waarden van alle lokale variabelen op het moment van de aanvraag weer te geven. Vanaf de bovenste methode in dit voorbeeld ziet u lokale variabelen die geen waarde hebben.

    Schermopname van het deelvenster Foutopsporingsmomentopname.

  3. De eerste aanroep met geldige waarden is ValidZipCode. U kunt zien dat een postcode is voorzien van letters die niet kunnen worden omgezet in een geheel getal. Dit probleem lijkt de fout in de code te zijn die moet worden gecorrigeerd.

    Schermopname van een fout in de code die moet worden gecorrigeerd.

  4. U kunt deze momentopname vervolgens downloaden naar Visual Studio, waar u de werkelijke code kunt vinden die moet worden gecorrigeerd. Selecteer Momentopname downloaden om dit te doen.

  5. De momentopname wordt geladen in Visual Studio.

  6. U kunt nu een foutopsporingssessie uitvoeren in Visual Studio Enterprise die snel de coderegel identificeert die de uitzondering heeft veroorzaakt.

    Schermopname van een uitzondering in de code.

Analytics-gegevens gebruiken

Alle gegevens die door Application Insights worden verzameld, worden opgeslagen in Azure Log Analytics, dat een uitgebreide querytaal biedt die u kunt gebruiken om de gegevens op verschillende manieren te analyseren. U kunt deze gegevens gebruiken om de aanvragen te analyseren die de uitzondering hebben gegenereerd die u onderzoekt.

  1. Selecteer de CodeLens-informatie boven de code om de telemetriegegevens van Application Insights weer te geven.

    Schermopname van code in CodeLens.

  2. Selecteer Impact analyseren om Application Insights Analytics te openen. Het is gevuld met verschillende query's die details bieden over mislukte aanvragen, zoals betrokken gebruikers, browsers en regio's.

    Schermopname van het Application Insights-venster met verschillende query's.

Een werkitem toevoegen

Als u Application Insights verbindt met een traceringssysteem, zoals Azure DevOps of GitHub, kunt u rechtstreeks vanuit Application Insights een werkitem maken.

  1. Ga terug naar het deelvenster Uitzonderingseigenschappen in Application Insights.

  2. Selecteer Nieuw werkitem.

  3. Het deelvenster Nieuw werkitem wordt geopend met details over de uitzondering die al is ingevuld. U kunt meer informatie toevoegen voordat u deze opslaat.

    Schermopname van het deelvenster Nieuw werkitem.

Volgende stappen

Nu u hebt geleerd hoe u runtime-uitzonderingen kunt identificeren, gaat u verder met de volgende zelfstudie voor meer informatie over het identificeren en diagnosticeren van prestatieproblemen.