5 diagnostických vychytávek, které ještě v Application Insights neznáte
Tento článek byl napsán v roce 2016. Vývojářské technologie se neustále inovují a článek již nemusí popisovat aktuální stav technologie, ideální řešení a můj současný pohled na dané téma.
Diagnostika webových aplikací je pro vývojáře velmi důležitá a málokterá služba v Microsoft Azure je poslední dva roky tak opečovávaná jako právě Application Insights. Uteklo několik týdnů a vývojáři v Microsoftu tradičně rozšířili funkcionalitu diagnostické služby Application Insights o řadu užitečných funkcí. Pojďme se podívat na pětici těch nejlepších novinek.
1. Proactive Detection a unifikace oznámení
Již po vytvoření služby Application Insights je automaticky aktivní funkce Proactive Detection. Ta na základě prediktivní analýzy a obecně analýzy sesbíraných dat dokáže hledat anomálie v chování aplikace. Ze života mohu uvést příklad, kdy jsem omylem nasadil verzi aplikace s neaktivní Output Cache. Služba Proactive Detection dokázala do 3 minut po nasazení upozornit na to, že odbavení reqestů trvá netradičně déle. V takovém případě jsem automaticky upozorněn e-mailem, který má nyní pro různá oznámení unifikovaný vzhled. Součástí e-mailu jsou informace:
- kdy nastala nestandardní událost
- co se děje špatně
- jak by to mělo být
- poznámka, kolik tato událost ovlivnila uživatelů
Kromě e-mailu je možné všechny události spravovat i přímo v portálu.
2. Widget pro VSTS Dashboard
Vývojový tým si uvědmuje, že mnoho vývojářů používá službu Visual Studio Team Services pro správu zdrojového kódu a tasků. VSTS poskytuje již delší dobu možnost instalovat si různá rozšíření skrze VSTS Marketplace. Jedním takovým rozšířením je widget, který umí na VSTS Dashboard propsat stav libovolné metriky. V praxi můžete po přihlášení do VSTS vidět například průměrnou dobu odbavení requestu ve vybraném čase. Pokud taková hodnota přeroste přes nadefinovaný threshold, umí se dlaždice přebarvit a upozornit na nestandardní chování aplikace. Z dlaždice je možné přejít rovnou do portálu ke službě Application Insights.
3. Tvorba work items z Application Insights na GitHub
Podobně jako v případě VSTS vývojáři služby Application Insights připravili integraci work itemů pro GitHub. Pokud je nyní vývojář v portálu Microsoft Azure a najde ve službě Application Insights problém, může z něj vytvořit nový work item na GitHubu. To se hodí především při vytváření issues souvisejících s performance nebo bugy. Připojení GitHub účtu se provádí v nastavení služby Application Insights na záložce Work Items. Tam je mimo jiné možné stejným způsobem připojit VSTS.
Samotné vytvoření work itemu je už hračka.
Výsledek se projeví na GitHubu prakticky okamžitě.
4. Propojení Analytics Query do dashboardu na Azure portálu
Jedna z vynikajících funkcí služby Application Insights je speciální portál Analytics, který umožňuje sestavovat nad sesbíranými telemetriemi různé dotazy specifickou syntaxí (podobnou LINQu).
Nově je možné výsledky těchto dotazů (gridy, grafy) promítnout na dashboard Azure portálu. Díky tomu již není nutné vracet se do Analytics portálu jen pro kontrolu sledovaných metrik. Podmínkou pro propsání je, aby byl vybraný dashboard sdílený.
Analytics portál byl zpřehledněn
Výše zmíněný Analytics portál je relativně nový (není s námi déle než 6 měsíců). Přesto se dynamicky rozvíjí a v posledních týdnech doznal i řady vizuálních změn.
V krásném tmavém designu jsou zakomponovány ukázky dotazů, se kterými lze ihned využívat portálu i bez znalosti specifického dotazovacího jazyka. Příkladem budiž základní dotaz rozdělující dobu odbavení requestu do percentilů a následnou projekci do grafu.
5. App Insights Performance Counters dostupné pro Web Apps
Performance counters byly donedávna dostupné pouze pro on-premises řešení, virtuální stroje a cloud services. Protože Web Apps neběžely na svém vlastním stroji, nebyly pro tuto službu podporovány. Nově je zpřístupněn NuGet balíček Application Insights SDK Labs, který tuto funkci přidává.
Protože je balíček mimo oficiální NuGet, doporučuji instalaci přes command line přímo ve VS:
Install-Package "Microsoft.ApplicationInsights.DependencyCallstacks" -Source "https://www.myget.org/F/applicationinsights-sdk-labs/" -Pre
A to máme pro dnešek vše. Služba Application Insights se rozvíjí každým týdnem a poskytuje vývojářům velmi silnou diagnostickou zbraň. Pokud hledáte nástroj pro logování chyb a diagnostiku aplikace včetně sledování performance counters, Application Insights doporučuji vyzkoušet. Zdarma dostanete nejen velmi pokročilý nástroj pro sběr telemetrií ale především i sadu nástrojů pro jejich následnou analýzu.