Vyhledání a diagnostika výjimek modulu runtime pomocí Application Insights
Application Insights shromažďuje telemetrii z vaší aplikace, aby vám pomohla identifikovat a diagnostikovat výjimky za běhu. Tento kurz vás provede tímto procesem s vaší aplikací. Získáte informace o těchto tématech:
- Upravte projekt tak, aby povolte sledování výjimek.
- Identifikujte výjimky pro různé komponenty vaší aplikace.
- Zobrazení podrobností o výjimce
- Stáhněte si snímek výjimky do sady Visual Studio pro ladění.
- Analyzujte podrobnosti neúspěšných požadavků pomocí dotazovacího jazyka.
- Vytvořte novou pracovní položku, která opraví chybný kód.
Požadavky
Pro absolvování tohoto kurzu potřebujete:
- Nainstalujte Sadu Visual Studio 2019 s následujícími úlohami:
- Vývoj pro ASP.NET a web
- Vývoj pro Azure
- Stáhnout a nainstalovat Visual Studio Snapshot Debugger.
- Povolení nástroje Visual Studio Snapshot Debugger
- Nasazení aplikace .NET do Azure a povolení sady Application Insights SDK
- Upravte kód ve vývojovém nebo testovacím prostředí tak, aby se vygenerovala výjimka, protože kurz sleduje identifikaci výjimky ve vaší aplikaci.
Přihlášení k Azure
Přihlaste se k webu Azure Portal.
Analýza selhání
Služba Application Insights shromažďuje všechna selhání ve vaší aplikaci. Umožňuje zobrazit jejich četnost v různých operacích, abyste se mohli zaměřit na ty problémy s nejvyšším dopadem. Pak můžete přejít k podrobnostem o těchto selháních a identifikovat původní příčinu.
Vyberte Application Insights a pak vyberte své předplatné.
Pokud chcete otevřít podokno Selhání, vyberte v nabídce Prošetřitselhání nebo vyberte graf Neúspěšné žádosti.
Podokno Neúspěšné žádosti zobrazuje počet neúspěšných požadavků a počet uživatelů ovlivněných jednotlivými operacemi aplikace. Seřazením těchto informací podle uživatele můžete identifikovat chyby, které uživatele ovlivňují nejvíce. V tomto příkladu jsou pravděpodobně kandidáty na šetření get Employees/Create a GET Customers/Details kvůli velkému počtu selhání a ovlivněných uživatelů. Výběrem operace zobrazíte další informace o této operaci v pravém podokně.
Zmenšením časového okna si přibližte období, kde má míra selhání špičku.
Výběrem tlačítka s počtem vyfiltrovaných výsledků si prohlédněte související ukázky. Navrhované ukázky obsahují související telemetrii ze všech komponent, a to i v případě, že vzorkování mohlo platit v některé z nich. Výběrem výsledku hledání zobrazíte podrobnosti o selhání.
Podrobnosti neúspěšného požadavku ukazují Ganttův diagram, který ukazuje, že v této transakci došlo ke dvěma selháním závislostí, což také přispělo k více než 50 % celkové doby trvání transakce. Toto prostředí představuje veškerou telemetrii napříč komponentami distribuované aplikace, které souvisejí s tímto ID operace. Výběrem libovolné položky zobrazíte jejich podrobnosti na pravé straně.
V podrobnostech o operacích se také zobrazuje výjimka formátu, která zřejmě způsobila selhání. Vidíte, že příčinou je neplatné PSČ. Můžete otevřít snímek ladění a zobrazit informace o ladění na úrovni kódu v sadě Visual Studio.
Identifikace chyb kódu
Snapshot Debugger shromažďuje snímky nejčastěji se vyskytujících výjimek v aplikaci, aby vám pomohl při diagnostice jejich hlavní příčiny v produkčním prostředí. Snímky ladění můžete zobrazit na portálu a podívat se do zásobníku volání a zkontrolovat proměnné v každém rámci zásobníku volání. Potom můžete zdrojový kód ladit stažením snímku a jeho otevřením v sadě Visual Studio 2019 Enterprise.
Ve vlastnostech výjimky vyberte Otevřít snímek ladění.
Otevře se podokno Snímek ladění se zásobníkem volání pro požadavek. Vyberte libovolnou metodu pro zobrazení hodnot všech místních proměnných v době požadavku. Počínaje metodou top v tomto příkladu můžete vidět místní proměnné, které nemají žádnou hodnotu.
První volání, které má platné hodnoty, je ValidZipCode. Vidíte, že psč bylo poskytnuto s písmeny, která se nedají přeložit na celé číslo. Zdá se, že tento problém je chyba v kódu, která se musí opravit.
Tento snímek si pak můžete stáhnout do sady Visual Studio, kde najdete skutečný kód, který je potřeba opravit. Uděláte to tak, že vyberete Stáhnout snímek.
Snímek se načte do aplikace Visual Studio.
Teď můžete spustit ladicí relaci v Visual Studio Enterprise, která rychle identifikuje řádek kódu, který způsobil výjimku.
Použití analytických dat
Všechna data shromážděná službou Application Insights se ukládají ve službě Azure Log Analytics, která poskytuje bohatý dotazovací jazyk, který můžete použít k analýze dat různými způsoby. Tato data můžete použít k analýze požadavků, které vygenerovaly výjimku, kterou zkoumáte.
Výběrem informací CodeLens nad kódem zobrazíte telemetrii poskytovanou službou Application Insights.
Výběrem možnosti Analyzovat dopad otevřete Application Insights Analytics. Obsahuje několik dotazů, které poskytují podrobnosti o neúspěšných požadavcích, jako jsou ovlivnění uživatelé, prohlížeče a oblasti.
Přidání pracovní položky
Pokud připojíte Application Insights ke sledovacímu systému, jako je Azure DevOps nebo GitHub, můžete pracovní položku vytvořit přímo z Application Insights.
Vraťte se do podokna Vlastnosti výjimky v Application Insights.
Vyberte Nová pracovní položka.
Otevře se podokno Nová pracovní položka s již vyplněnými podrobnostmi o výjimce. Před uložením můžete přidat další informace.
Další kroky
Teď, když jste se naučili identifikovat výjimky modulu runtime, přejděte k dalšímu kurzu, kde se dozvíte, jak identifikovat a diagnostikovat problémy s výkonem.