KROS Dev Meetup #5 (Application Insights & Postman testy)

30.3. o 17:00 sa uskutoční ďalšie kolo KROS Dev Meetup-u, tentokrát venované témam Logovanie a diagnostika s Application Insights (Miroslav Holec - Vývojár, konzultant a lektor.) a Ako testovať API a nezblázniť sa pri tom (Jakub Berthoty - KROS)

:date: Agenda:
• 17:00 Úvod
• 17:05 Logovanie a diagnostika s Application Insights (Miroslav Holec)
• 18:00 Ako testovať API a nezblázniť sa pri tom (Jakub Berthoty)
• 19:00 Virtual beer

Tešíme sa na vás 30. marca o 17-tej cez ZOOM: Launch Meeting - Zoom

Viac info na KROS Dev Meetup #5 | Meetup

Hned mam otazku k Application Insights.

Ked mam v aplikacii SignalR (napr Blazor Server side), tak metrika Server Response Time je nepouzitelna. Daju sa nejako odfiltrovat SignalR requesty? Tato sa pouziva napriklad na Overview zalozke a nenasiel som ako sa da customizovat

customizovat vieš takmer všetko Request filtering in Application Insights with Telemetry Processor| Microsoft Azure
otázka je, ako je užitočná taká metrika, keď prídeš o podstatnú časť monitoring dát, možno ťa skôr bude zaujímať ako prepojiť nejak vstup s výstupom cez operationId Azure Application Insights telemetry correlations

Tiež mi napadla možnosť spraviť si vlastný ITelemetryProcessor, ktorý napríklad na základe path odfiltruje neželané requesty.

Napríklad niečo takéto:

public class IgnoreSignarRTelemetryProcessor : ITelemetryProcessor
{
   private ITelemetryProcessor _next;

   public IgnoreSignarRTelemetryProcessor (ITelemetryProcessor next)
   {
      _next = next;
   }

   public void Process(ITelemetry item)
   {
     var request = item as RequestTelemetry;
     if (request != null && request.Url.AbsolutePath.Contains("/signalr/"))
     {
        return;
     }
     _next.Process(item);
    }
}

Docs.

Ja som myslel filtrovanie v Application Insights Dashboarde. Ak sa nemylim, takato metrika moze pochadzat aj z AppServicu, resp IISka.

@Burgyn: Diky, mam nieco podobne:

public class BlazorTelemetryProcessor : ITelemetryProcessor
{
    private ITelemetryProcessor _next;

    public BlazorTelemetryProcessor(ITelemetryProcessor next) => _next = next;

    public void Process(ITelemetry item)
    {
        if (item is RequestTelemetry request && request.Url.GetLeftPart(UriPartial.Path).Contains("_/blazor/"))
        {
            return;
        }
        _next.Process(item);
    }
}

Mimochodom: Blazor: Update docs on how to get useful metrics in application insights · Issue #30972 · dotnet/aspnetcore (github.com)
Trochu ma hneva tento ich az prilis lean pristup, ze oni nic nespravia sami od seba, kym sa niekto neozve. Nevrha to az take dobre svetlo na ich focus na Blazor, skor mam pocit ze Blazor je taka individualna nadsenecka aktivita nejakeho teamu, ako strategia Microsoftu