Azurové novinky: Novinky ve službě Application Insights

Miroslav Holec

Miroslav Holec

Publikován 7. listopadu 2015 , aktualizace: 10. dubna 2016 | Azure

Tento článek je starší 18 měsíců a je proto možné, že popisuje postupy nebo technologie, které v uplynulé době mohly doznat výraznějších změn. Názory a myšlenky v tomto článku již nemusí vyjadřovat současné stanovisko autora nebo autorů. Článek byl napsán 7. listopadu 2015.

Těžko bychom hledali lepší příklad úspěšné kontinuální integrace, než je prostředí Microsoft Azure. Díky neustálým inovacím vzniká i tento občasník, který má za cíl vývojáře průběžně seznamovat s novinkami a změnami v cloudovém prostředí Microsoft Azure. Tento díl bude o řadě zajímavostí a novinek ve službě Application Insights.

.NET Core

Nová podzimní školení .NET Core a Entity Framework Core

Chcete se dozvědět o novinkách v moderním vývojářském stacku (ASP).NET Core a Entity Framework Core? Připravil jsem krátká úderná školení, ve kterých se zaměřím na nové aspekty těchto technologií. Žádná omáčka a žádné opáčko toho, co už znáte. Prostě jen to nové.

Application Insights

Služba Application Insights spatřila světlo světa před téměř dvěma lety v prostředí Visual Studio Online. V posledních měsících je dostupná v prostředí nového Azure portálu a lze ji považovat za jeden ze silných argumentů, proč upřednostnit inteligentní a flexibilní cloudová řešení před tradičním hostingem. Integrací služby Application Insights získává vývojářský tým důkladný přehled o zdraví svých aplikací, včetně monitoringu dostupnosti a analýzy použití. Podporu si tato služba našla v celém spektru zařízení (od mobilních aplikací WP / Android / iOS přes webové aplikace až po univerzální aplikace.

Insights na dashboardu ve Wordpressu

Na monitorování Wordpress aplikací není nic zvláštního, protože Wordpress společně s řadou dalších CMS lze vytvořit behěm několika okamžiků pomocí služby App Service a Application Insights se vytváří s takovou službou automaticky. Novinkou je ale možnost zobrazit statistiky použití ze služby App Insights přímo na dashboardu v administraci Wordpress. Dashboard pak poskytuje informace o uživatelích, page views a chování serveru. Podmínkou pro tuto feature je založení účtu ve službě Azure Active Directory. Pokud vás překvapuje podpora Wordpressu napsaného v PHP, o to více Vás možná překvapí existence SDK pro PHP aplikace.

Application Insights ve Wordpressu

Filtrování telemetrií

Programová manažerka Becklin Orooji představila novou feature pro Application Insights: Telemetry Processor. Ten je zahrnutý v nové verzi SDK (verze 2.0.0 - beta 1). Hlavním úkolem Telemetry Processoru je umožnit vývojáři vybrat specifická data před samotným odesláním. Díky tomu dojde k redukci množství odesílaných dat a zároveň ke zpřehlednění App Insights dashboardu na Azure. Odfiltrovat lze například nezajímavý provoz generovaný různými boty. Pro zprovoznění funkce vývojář pouze implementuje rozhraní ITelemetryProcessor.

namespace FilteringTelemetryProcessor
{
    using Microsoft.ApplicationInsights.Channel;
    using Microsoft.ApplicationInsights.DataContracts;

    class MyFilteringProcessor : ITelemetryProcessor
    {
        public MyFilteringProcessor(ITelemetryProcessor next)
        {
            this.Next = next;
        }

        public void Process(ITelemetry item)
        {
            if (!OKtoSend(item)) { return; }

			// Modify the item if required 
            ModifyItem(item);

            this.Next.Process(item);
        }      

		private ITelemetryProcessor Next { get; set; }
    }
}

a ten následně zaregistruje:

TelemetryConfiguration.Active.TelemetryChannel = new TelemetryChannelBuilder().Use((next) => new MyFilteringProcessor(next)).Build();

Když filtrování nestačí a data nás zahlcují

Pro aplikace, ve kterých se mohou uživatelé registrovat je typické, že se generuje a odesílá enormní množství (logicky duplicitních) dat. Vitaly Gorbenko trefně upozorňuje na zcela běžnou a také spekulativní snahu vývojářů trackovat za každou cenu všechny události. S objemem dat roste i cena za použití služby Application Insights a přitom se v záplavě nasbíraných dat vývojáři může analýza zcela vymknout kontrole. Pokud se množství dat nevejde to měsíčních kvót, služba Application Data jednoduše další data ignoruje a zahazuje. Tím vývojářský tým ztrácí veškerou kontrolu na tím, co se aktuálně v aplikaci děje.

Nově zmíněná verze SDK 2 (beta) přichází s tzv. samplingem. Tato novinka podobně jako Telemetry Processor usiluje o redukci přenášených dat a zaměření na taková data, ze kterých lze rychle provádět potřebné analýzy. Sampling je automatizovaný proces, který pracuje v případě webových aplikací jak na straně serveru tak na straně klienta. Samotné nastavení je velmi jednoduché:

  using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel;
  // This configures sampling percentage at 10%:
  TelemetryConfiguration.Active.TelemetryChannel = new TelemetryChannelBuilder().UseSampling(10.0).Build();

Na klientské stráně stačí upravit běžně vkládaný kus JS kódu:

<script>
var appInsights= ... 
}({ 
samplingPercentage: 10, 
instrumentationKey:...
});

Zlepšení výkonnosti služby App Insights

Služba Application Insights se mění téměř každým dnem a vývojový tým přináší prakticky neustále nové funkce a vylepšení. Daní je samozřejmě nutná válka s výkonností, kterou zatím vývojáři s přehledem vyhrávají. Společně s řadou vylepšení se tým rozhodl krátkodobě zredukovat časy sběrů dat a vyzkoušet jak se bude s prostředím pracovat. Výsledkem této redukce by měla být dvojnásobně lepší responsivita UI prostředí a rapidní zvýšení spolehlivosti.

Zdroje

Zeptejte se


Školení webového vývoje

Krátká a úderná školení zaměřená na skutečné novinky ve světě webového vývoje.

DatumNázev školeníMístoDélkaCenaStav
08.10.2018Infrastruktura ASP.NET CorePraha3 h.1 500 KčVolná místana registraci ⇒
08.10.2018Úvod do Entity Framework CorePraha4 h.1 900 KčVolná místana registraci ⇒
09.10.2018RESTful Web API s ASP.NET Core MVCPraha3 h.1 500 KčVolná místana registraci ⇒
09.10.2018Diagnostika aplikací s App insightsPraha4 h.1 900 KčVolná místana registraci ⇒

HOLEC, Miroslav. Azurové novinky: Novinky ve službě Application Insights. Azure & ASP.NET Core Blog [online]. Praha: Miroslav Holec, ©2010-2015. Poslední změna článku 10.4.2016 [vid. 2018-09-19]. Dostupné z: https://www.miroslavholec.cz/blog/azurove-novinky-novinky-ve-sluzbe-application-insights