Runtime-uitzonderingen vinden en diagnosticeren met behulp van Azure Application Insights
Azure Application Insights verzamelt telemetrie 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:
- Het wijzigen van uw project om het bijhouden van uitzonderingen in te schakelen
- Het identificeren van uitzonderingen voor verschillende onderdelen van uw toepassing
- Het weergeven van de details van een uitzondering
- Het downloaden van een momentopname van de uitzondering naar Visual Studio voor het opsporen van fouten
- Het analyseren van details van mislukte aanvragen met behulp van een querytaal
- Het maken van een nieuw werkitem om de foute 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.
- Visual Studio Snapshot Debugger inschakelen
- Implementeer een .NET-toepassing in Azure en schakel de Application Insights-SDKin.
- De zelfstudie volgt de identificatie van een uitzondering in uw toepassing; wijzig dus uw code in uw ontwikkelings- of testomgeving om een uitzondering te genereren.
Meld u aan bij Azure.
Meld u aan bij de Azure-portal op https://portal.azure.com.
Fouten analyseren
Application Insights verzamelt fouten in uw toepassing en laat u zien hoe vaak ze voorkomen in verschillende bewerkingen, om u te helpen uw inspanningen te richten op het verhelpen van de fouten met de meeste impact. Vervolgens kunt u inzoomen op de details van deze fouten om de hoofdoorzaak te identificeren.
Selecteer Application Insights en selecteer vervolgens uw abonnement.
U kunt het deelvenster Fouten openen door Fouten te selecteren in het menu Onderzoeken menu of door op de grafiek Mislukte aanvragen te klikken.

In het deelvenster Mislukte aanvragen deelvenster ziet u het aantal mislukte aanvragen en het aantal getroffen gebruikers voor elke bewerking van de toepassing. Door deze informatie te sorteren op gebruiker kunt u de fouten identificeren die de meeste impact hebben op gebruikers. In dit voorbeeld zijn GET Employees/Create en GET Customers/Details goede kandidaten om te onderzoeken, vanwege het hoge aantal fouten en getroffen gebruikers. Door een bewerking te selecteren wordt meer informatie over deze bewerking zichtbaar in het rechter deelvenster.

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

Zie de gerelateerde steekproeven door te klikken op de knop met het aantal gefilterde resultaten. De 'aanbevolen' steekproeven hebben gerelateerde telemetrie van alle onderdelen, zelfs als er hierin steekproeven zijn genomen. Klik op een zoekresultaat om de details van de fout te bekijken.

In de details van de mislukte aanvraag ziet u het Gantt-diagram waarin wordt aangegeven dat er twee afhankelijkheidsfouten waren in deze transactie, wat heeft gezorgd voor meer dan 50% van de totale duur van de transactie. Deze ervaring bevat alle telemetrie voor alle onderdelen van een gedistribueerde toepassing die zijn gerelateerd aan deze bewerkings-id. Meer informatie over de nieuwe ervaring. U kunt een van de items selecteren om rechts de details te bekijken.

De bewerkingsdetails laten ook een FormatException zien, die de fout lijkt te hebben veroorzaakt. U ziet dat de uitzondering te wijten is aan een ongeldige postcode. U kunt de momentopname voor foutopsporing openen om foutopsporingsgegevens op codeniveau te bekijken in Visual Studio.

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. Hierna hebt u de mogelijkheid om fouten in de broncode op te sporen door de momentopname te downloaden en te openen in Visual Studio 2019 Enterprise.
Klik in de eigenschappen van de uitzondering op Momentopname voor foutopsporing openen.
Het deelvenster Debug Snapshot (fouten opsporen in momentopname) wordt geopend met de aanroepstack voor de aanvraag. Klik op een methode om de waarden van alle lokale variabelen op het moment van de aanvraag weer te geven. Te beginnen bij de bovenste methode in dit voorbeeld, zien we lokale variabelen die geen waarde hebben.

De eerste aanroep met geldige waarden is ValidZipCode, en we zien dat er een postcode is opgegeven met letters die niet kan worden omgezet in een geheel getal. Dit lijkt de fout in de code te zijn die moet worden gecorrigeerd.

U kunt deze momentopname downloaden naar Visual Studio, waar we de werkelijke code kunnen vinden die moet worden gecorrigeerd. Hiertoe klikt u op Momentopname downloaden.
De momentopname wordt geladen in Visual Studio.
U kunt nu een foutopsporingssessie uitvoeren in Visual Studio Enterprise die snel de coderegel identificeert die de uitzondering heeft veroorzaakt.

Analytics-gegevens gebruiken
Alle gegevens die door Application Insights worden verzameld, worden opgeslagen in Azure Log Analytics, dat een uitgebreide querytaal biedt waarmee u de gegevens op verschillende manieren kunt analyseren. We kunnen deze gegevens gebruiken voor het analyseren van de aanvragen die de uitzondering hebben gegenereerd die we aan het onderzoeken zijn.
Klik op de CodeLens-informatie boven de code om telemetrie van Application Insights te bekijken.

Klik op Impact analyseren om Application Insights Analytics te openen. Het wordt gevuld met enkele query's die details bieden over mislukte aanvragen, zoals getroffen gebruikers, browsers en regio's.

Werkitem toevoegen
Als u Application Insights aansluit op een trackingsysteem zoals Azure DevOps of GitHub, kunt u direct vanuit Application Insights een werkitem maken.
Ga terug naar het deelvenster Uitzonderingseigenschappen in Application Insights.
Klik op Nieuw werkitem.
Het deelvenster Nieuw werkitem wordt geopend, waarin al gegevens over de uitzondering zijn ingevuld. U kunt aanvullende informatie toevoegen voordat u opslaat.

Volgende stappen
Nu u hebt geleerd runtime-uitzonderingen te identificeren, kunt u doorgaan naar de volgende zelfstudie om te leren hoe u prestatieproblemen kunt identificeren en diagnosticeren.