Muszę zachować całą telemetrię, ponieważ używamy jej do analizy.Wyłącz próbkowanie danych aplikacji za pomocą bibliotek podstawowych ASP.NET Core
Według this article mogę uruchomić następujące zapytanie Analytics w celu określenia szybkości próbkowania:
requests
| where timestamp > ago(1d)
| summarize 100/avg(itemCount) by bin(timestamp, 1h)
| render areachart
Wyniki wskazują niektóre mocno pobierania próbek, zwłaszcza w ciągu dnia, gdzie tylko około 1 na 10 pozycji zatrzymanych:
Co mnie dezorientuje jest to, że portal Azure insdicates że próbkowania jest ustawiona na 100%:
Być może odzwierciedla to tylko próbkowanie spozażenia? Próbkowanie adaptacyjne może nadal występować na serwerze.
Jak całkowicie wyłączyć próbkowanie przy użyciu bibliotek podstawowych ASP.NET Core dla analizy aplikacji? (tj Microsoft.ApplicationInsights.AspNetCore 1.0.2)
Obecnie jest to jedyna konfiguracja mogę znaleźć i nie ma nic na próbkowania:
var appInsightsConfiguration = new ConfigurationBuilder()
.AddApplicationInsightsSettings(
developerMode: false,
instrumentationKey: Configuration["ApplicationInsights:InstrumentationKey"])
.Build();
services.AddApplicationInsightsTelemetry(appInsightsConfiguration);
Dla non-ASP.NET aplikacjach takich jak role pracowników, pobieranie próbek może być włączony w ApplicationInsights.config. Miałem tam następujący element: 5 MaxTelemetryItemsPerSecond> Event ExcludedTypes> –
Tobias