Szczegółowe informacje aplikacji dla aplikacji ASP.NET Core

W tym artykule opisano sposób włączania Szczegółowe informacje aplikacji dla aplikacji ASP.NET Core.

Usługa Application Szczegółowe informacje może zbierać następujące dane telemetryczne z aplikacji ASP.NET Core:

  • Żądania
  • Zależności
  • Wyjątki
  • Liczniki wydajności
  • Bicie serca
  • Dzienniki

Użyjemy przykładu aplikacji MVC przeznaczonego dla elementu .netcoreapp3.0 Te instrukcje można zastosować do wszystkich aplikacji ASP.NET Core. Jeśli używasz usługi Procesu roboczego, skorzystaj z instrukcji podanych tutaj.

Uwaga

31 marca 2025 r. zostanie zakończone świadczenie pomocy technicznej dla pozyskiwania klucza instrumentacji. Pozyskiwanie klucza instrumentacji będzie nadal działać, ale nie będziemy już zapewniać aktualizacji ani obsługi funkcji. Przejście do parametrów połączenia w celu skorzystania z nowych możliwości.

Obsługiwane scenariusze

Zestaw SDK usługi Application Szczegółowe informacje dla ASP.NET Core może monitorować aplikacje niezależnie od tego, gdzie i jak działają. Jeśli aplikacja jest uruchomiona i ma łączność sieciową z platformą Azure, można zbierać dane telemetryczne. Monitorowanie Szczegółowe informacje aplikacji jest obsługiwane wszędzie, gdzie jest obsługiwany program .NET Core. Pomoc techniczna obejmuje następujące scenariusze:

  • System operacyjny: Windows, Linux lub Mac
  • Metoda hostingu: w procesie lub poza procesem
  • Metoda wdrażania: zależna od struktury lub samodzielna
  • Serwer sieci Web: IIS (Internet Information Server) lub Kestrel
  • Platforma hostingu: funkcja Web Apps Azure App Service, maszyny wirtualnej platformy Azure, platformy Docker, Azure Kubernetes Service (AKS) itd.
  • Wersja platformy .NET Core: wszystkie oficjalnie obsługiwane wersje platformy .NET Core , które nie są dostępne w wersji zapoznawczej
  • IDE: Visual Studio, Visual Studio Code lub wiersz polecenia

Uwaga

ASP.NET Core 3.1 wymaga aplikacji Szczegółowe informacje 2.8.0 lub nowszej.

Wymagania wstępne

  • Działająca aplikacja ASP.NET Core. Jeśli musisz utworzyć aplikację ASP.NET Core, wykonaj czynności opisane w tym samouczku ASP.NET Core.
  • Prawidłowe parametry połączenia aplikacji Szczegółowe informacje. Ten ciąg jest wymagany do wysyłania wszystkich danych telemetrycznych do Szczegółowe informacje aplikacji. Jeśli musisz utworzyć nowy zasób usługi Application Szczegółowe informacje, aby uzyskać parametry połączenia, zobacz Tworzenie zasobu Szczegółowe informacje aplikacji.

Włączanie telemetrii po stronie serwera Szczegółowe informacje aplikacji (Visual Studio)

Aby uzyskać Visual Studio dla komputerów Mac, skorzystaj z wskazówek ręcznych. Ta procedura obsługuje tylko Windows wersji Visual Studio.

  1. Otwórz projekt w programie Visual Studio.

    Porada

    Aby śledzić wszystkie zmiany wprowadzone przez aplikację Szczegółowe informacje, możesz skonfigurować kontrolę źródła dla projektu. Aby ją skonfigurować, wybierz pozycję Plik>Dodaj do kontroli źródła.

  2. Wybierz pozycję Project>Dodaj telemetrię Szczegółowe informacje aplikacji.

  3. Wybierz pozycję Wprowadzenie. W zależności od wersji Visual Studio nazwa tego przycisku może się różnić. W niektórych wcześniejszych wersjach nosi nazwę przycisku Rozpocznij bezpłatnie .

  4. Wybierz swoją subskrypcję, a następnie wybierz pozycjęRejestrowaniezasobów>.

  5. Po dodaniu Szczegółowe informacje aplikacji do projektu sprawdź, czy używasz najnowszej stabilnej wersji zestawu SDK. Przejdź do pozycji Project>Zarządzanie pakietami> NuGetMicrosoft.ApplicationInsights.AspNetCore. Jeśli chcesz, wybierz pozycję Aktualizuj.

    Screenshot showing where to select the Application Insights package for update

  6. Jeśli projekt został dodany do kontroli źródła, przejdź do pozycji Wyświetl>zmianyw programie Team Explorer>. Możesz wybrać każdy plik, aby wyświetlić widok różnic zmian wprowadzonych przez telemetrię Szczegółowe informacje aplikacji.

Włączanie telemetrii po stronie serwera Szczegółowe informacje aplikacji (bez Visual Studio)

  1. Zainstaluj pakiet NuGet zestawu SDK Szczegółowe informacje aplikacji dla ASP.NET Core. Zalecamy, aby zawsze używać najnowszej stabilnej wersji. Znajdź pełne informacje o wersji zestawu SDK w repozytorium GitHub open source.

    Poniższy przykładowy kod przedstawia zmiany, które mają zostać dodane do pliku projektu .csproj .

        <ItemGroup>
          <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.16.0" />
        </ItemGroup>
    
  2. Dodaj services.AddApplicationInsightsTelemetry(); do ConfigureServices() metody w Startup klasie, jak w tym przykładzie:

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            // The following line enables Application Insights telemetry collection.
            services.AddApplicationInsightsTelemetry();
    
            // This code adds other services for your application.
            services.AddMvc();
        }
    
  3. Skonfiguruj parametry połączenia.

    Mimo że parametry połączenia można podać jako część argumentu ApplicationInsightsServiceOptions addApplicationInsightsTelemetry, zalecamy określenie parametrów połączenia w konfiguracji. Poniższy przykładowy kod pokazuje, jak określić parametry połączenia w pliku appsettings.json. Podczas publikowania upewnij się, że appsettings.json plik został skopiowany do folderu głównego aplikacji.

        {
          "ApplicationInsights": {
            "ConnectionString" : "Copy connection string from Application Insights Resource Overview"
          },
          "Logging": {
            "LogLevel": {
              "Default": "Warning"
            }
          }
        }
    

    Alternatywnie określ parametry połączenia w zmiennej środowiskowej "APPLICATIONINSIGHTS_CONNECTION_STRING" lub "ApplicationInsights:ConnectionString" w pliku konfiguracji JSON.

    Przykład:

    • SET ApplicationInsights:ConnectionString = <Copy connection string from Application Insights Resource Overview>

    • SET APPLICATIONINSIGHTS_CONNECTION_STRING = <Copy connection string from Application Insights Resource Overview>

    • Zazwyczaj jest używany w usłudze APPLICATIONINSIGHTS_CONNECTION_STRINGAzure Web Apps, ale może być również używany we wszystkich miejscach, w których ten zestaw SDK jest obsługiwany.

    Uwaga

    Parametry połączenia określone w kodzie wygrywają przez zmienną środowiskową APPLICATIONINSIGHTS_CONNECTION_STRING, która wygrywa z innymi opcjami.

Wpisy tajne użytkownika i inni dostawcy konfiguracji

Jeśli chcesz przechowywać parametry połączenia w ASP.NET Core wpisach tajnych użytkownika lub pobrać je z innego dostawcy konfiguracji, możesz użyć przeciążenia z parametrem Microsoft.Extensions.Configuration.IConfiguration . Na przykład services.AddApplicationInsightsTelemetry(Configuration);. W programie Microsoft.ApplicationInsights.AspNetCore w wersji 2.15.0 lub nowszej wywołanie services.AddApplicationInsightsTelemetry() automatycznie odczytuje parametry połączenia z Microsoft.Extensions.Configuration.IConfiguration aplikacji. Nie ma potrzeby jawnego podawania .IConfiguration

Jeśli IConfiguration konfiguracja została załadowana od wielu dostawców, services.AddApplicationInsightsTelemetry określa priorytety konfiguracji od appsettings.json, niezależnie od kolejności dodawania dostawców. services.AddApplicationInsightsTelemetry(IConfiguration) Użyj metody , aby odczytać konfigurację z interfejsu IConfiguration bez preferencyjnego traktowania elementu appsettings.json.

Uruchamianie aplikacji

Uruchom aplikację i wysyłaj do niej żądania. Dane telemetryczne powinny teraz przepływać do Szczegółowe informacje aplikacji. Zestaw SDK usługi Application Szczegółowe informacje automatycznie zbiera przychodzące żądania internetowe do aplikacji wraz z następującymi danymi telemetrycznymi.

Metryki na żywo

Metryki na żywo mogą służyć do szybkiego sprawdzania, czy monitorowanie aplikacji Szczegółowe informacje jest poprawnie skonfigurowane. Wyświetlenie danych telemetrycznych w portalu i analizie może potrwać kilka minut, ale metryki na żywo pokazują użycie procesora CPU uruchomionego procesu niemal w czasie rzeczywistym. Może również wyświetlać inne dane telemetryczne, takie jak Żądania, Zależności i Ślady.

Dzienniki ILogger

Domyślna konfiguracja zbiera ILoggerWarning dzienniki i poważniejsze dzienniki. Zapoznaj się z często zadawanymi pytaniami, aby dostosować tę konfigurację.

Zależności

Kolekcja zależności jest domyślnie włączona. W tym artykule wyjaśniono zależności, które są zbierane automatycznie, a także kroki umożliwiające ręczne śledzenie.

Liczniki wydajności

Obsługa liczników wydajności w ASP.NET Core jest ograniczona:

  • Zestaw SDK w wersji 2.4.1 lub nowszej zbiera liczniki wydajności, jeśli aplikacja jest uruchomiona w usłudze Azure Web Apps (Windows).
  • Zestaw SDK w wersji 2.7.1 lub nowszej zbiera liczniki wydajności, jeśli aplikacja jest uruchomiona w Windows i celach NETSTANDARD2.0 lub nowszych.
  • W przypadku aplikacji przeznaczonych dla .NET Framework wszystkie wersje zestawu SDK obsługują liczniki wydajności.
  • Zestaw SDK w wersji 2.8.0 lub nowszej obsługuje licznik procesora CPU/pamięci w systemie Linux. Żaden inny licznik nie jest obsługiwany w systemie Linux. Zalecanym sposobem uzyskiwania liczników systemowych w systemie Linux (i innych środowiskach innych niż Windows) jest użycie usługi EventCounters.

EventCounter

Domyślnie EventCounterCollectionModule jest włączona. Aby dowiedzieć się, jak skonfigurować listę liczników do zbierania, zobacz Wprowadzenie do usługi EventCounters.

Wzbogacanie danych za pośrednictwem protokołu HTTP

HttpContext.Features.Get<RequestTelemetry>().Properties["myProp"] = someData

Włączanie telemetrii po stronie klienta dla aplikacji internetowych

Powyższe kroki są wystarczające, aby ułatwić rozpoczęcie zbierania danych telemetrycznych po stronie serwera. Jeśli aplikacja ma składniki po stronie klienta, wykonaj następne kroki, aby rozpocząć zbieranie danych telemetrycznych użycia.

  1. W _ViewImports.cshtmlpliku dodaj iniekcję:
    @inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
  1. W _Layout.cshtmlpliku wstaw HtmlHelper na końcu <head> sekcji, ale przed innym skryptem. Jeśli chcesz zgłosić dowolną niestandardową telemetrię języka JavaScript ze strony, wstrzyknąć ją po tym fragmencie kodu:
    @Html.Raw(JavaScriptSnippet.FullScript)
    </head>

Alternatywą dla korzystania z programu FullScriptScriptBody jest dostępny zestaw SDK usługi Application Szczegółowe informacje dla ASP.NET Core w wersji 2.14. Użyj polecenia ScriptBody , jeśli musisz kontrolować tag, <script> aby ustawić zasady zabezpieczeń zawartości:

 <script> // apply custom changes to this script tag.
     @Html.Raw(JavaScriptSnippet.ScriptBody)
 </script>

Nazwy .cshtml plików, do których odwołuje się wcześniej, pochodzą z domyślnego szablonu aplikacji MVC. Ostatecznie jeśli chcesz prawidłowo włączyć monitorowanie po stronie klienta dla aplikacji, fragment kodu JavaScript musi pojawić się w <head> sekcji każdej strony aplikacji, którą chcesz monitorować. Dodaj fragment kodu JavaScript do _Layout.cshtml elementu w szablonie aplikacji, aby włączyć monitorowanie po stronie klienta.

Jeśli projekt nie zawiera _Layout.cshtmlelementu , nadal możesz dodać monitorowanie po stronie klienta , dodając fragment kodu JavaScript do równoważnego pliku, który kontroluje <head> wszystkie strony w aplikacji. Alternatywnie możesz dodać fragment kodu do wielu stron, ale nie zalecamy tego.

Uwaga

Iniekcja języka JavaScript zapewnia domyślne środowisko konfiguracji. Jeśli potrzebujesz konfiguracji poza ustawieniem parametrów połączenia, musisz usunąć automatyczne wstrzykiwanie zgodnie z powyższym opisem i ręcznie dodać zestaw SDK języka JavaScript.

Konfigurowanie zestawu SDK Szczegółowe informacje aplikacji

Możesz dostosować zestaw SDK Szczegółowe informacje aplikacji dla ASP.NET Core, aby zmienić konfigurację domyślną. Użytkownicy zestawu SDK Szczegółowe informacje ASP.NET aplikacji mogą być zaznajomieni ze zmianą konfiguracji przy użyciu lub ApplicationInsights.config przez zmodyfikowanie elementu TelemetryConfiguration.Active. W przypadku ASP.NET Core wprowadź prawie wszystkie zmiany konfiguracji w ConfigureServices() metodzie Startup.cs klasy, chyba że zostanie skierowana inaczej. Poniższe sekcje zawierają więcej informacji.

Uwaga

W aplikacjach ASP.NET Core zmiana konfiguracji przez modyfikowanie TelemetryConfiguration.Active nie jest obsługiwana.

Korzystanie z usługi ApplicationInsightsServiceOptions

Możesz zmodyfikować kilka typowych ustawień, przekazując ApplicationInsightsServiceOptions do AddApplicationInsightsTelemetryelementu , jak w tym przykładzie:

public void ConfigureServices(IServiceCollection services)
{
    Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions aiOptions
                = new Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions();
    // Disables adaptive sampling.
    aiOptions.EnableAdaptiveSampling = false;

    // Disables QuickPulse (Live Metrics stream).
    aiOptions.EnableQuickPulseMetricStream = false;
    services.AddApplicationInsightsTelemetry(aiOptions);
}

Ta tabela zawiera pełną listę ApplicationInsightsServiceOptions ustawień:

Ustawienie Opis Domyślny
EnablePerformanceCounterCollectionModule Włączanie/wyłączanie PerformanceCounterCollectionModule true
EnableRequestTrackingTelemetryModule Włączanie/wyłączanie RequestTrackingTelemetryModule true
EnableEventCounterCollectionModule Włączanie/wyłączanie EventCounterCollectionModule true
EnableDependencyTrackingTelemetryModule Włączanie/wyłączanie DependencyTrackingTelemetryModule true
EnableAppServicesHeartbeatTelemetryModule Włączanie/wyłączanie AppServicesHeartbeatTelemetryModule true
EnableAzureInstanceMetadataTelemetryModule Włączanie/wyłączanie AzureInstanceMetadataTelemetryModule true
EnableQuickPulseMetricStream Włączanie/wyłączanie funkcji LiveMetrics true
EnableAdaptiveSampling Włączanie/wyłączanie próbkowania adaptacyjnego true
WłączHeartbeat Włącz/wyłącz funkcję pulsów, która okresowo (15-minutowa wartość domyślna) wysyła niestandardową metrykę o nazwie "HeartbeatState" z informacjami o środowisku uruchomieniowym, takimi jak wersja platformy .NET, informacje o środowisku platformy Azure, jeśli ma to zastosowanie itp. true
AddAutoCollectedMetricExtractor Włącz/wyłącz wyodrębnianie autokolektowanych metryk, czyli moduł telemetryczny, który wysyła wstępnie zagregowane metryki dotyczące żądań/zależności przed rozpoczęciem próbkowania. true
RequestCollectionOptions.TrackExceptions Włącz/wyłącz raportowanie nieobsługiwanego śledzenia wyjątków przez moduł Zbieranie żądań. false w netSTANDARD2.0 (ponieważ wyjątki są śledzone za pomocą ApplicationInsightsLoggerProvider), prawda.
EnableDiagnosticsTelemetryModule Włącz/wyłącz DiagnosticsTelemetryModule. Wyłączenie spowoduje zignorowanie następujących ustawień; EnableHeartbeat, EnableAzureInstanceMetadataTelemetryModule, EnableAppServicesHeartbeatTelemetryModule true

Aby uzyskać najnowszą listę, zobacz konfigurowalne ustawienia w programie ApplicationInsightsServiceOptions.

Zalecenie dotyczące konfiguracji dla zestawu Microsoft.ApplicationInsights.AspNetCore SDK 2.15.0 lub nowszego

W zestawie MICROSOFT.ApplicationInsights.AspNetCore SDK w wersji 2.15.0 lub nowszej zalecamy skonfigurowanie każdego ustawienia dostępnego w ApplicationInsightsServiceOptionsprogramie , w tym ConnectionString przy użyciu wystąpienia aplikacji IConfiguration . Ustawienia muszą znajdować się w sekcji "ApplicationInsights", jak pokazano w poniższym przykładzie. Poniższa sekcja z pliku appsettings.json konfiguruje parametry połączenia i wyłącza adaptacyjne próbkowanie i zbieranie liczników wydajności.

{
    "ApplicationInsights": {
    "ConnectionString": "Copy connection string from Application Insights Resource Overview",
    "EnableAdaptiveSampling": false,
    "EnablePerformanceCounterCollectionModule": false
    }
}

Jeśli services.AddApplicationInsightsTelemetry(aiOptions) jest używany, zastępuje ustawienia z Microsoft.Extensions.Configuration.IConfiguration.

Próbkowanie

Zestaw SDK Szczegółowe informacje aplikacji dla ASP.NET Core obsługuje próbkowanie stałe i adaptacyjne. Domyślnie jest włączone próbkowanie adaptacyjne.

Aby uzyskać więcej informacji, zobacz Konfigurowanie próbkowania adaptacyjnego dla aplikacji ASP.NET Core.

Dodawanie telemetriiInitializers

Jeśli chcesz wzbogacić dane telemetryczne dodatkowymi informacjami, użyj inicjatorów telemetrii.

Dodaj dowolną nową do TelemetryInitializer kontenera DependencyInjection , jak pokazano w poniższym kodzie. Zestaw SDK automatycznie pobiera wszystkie TelemetryInitializer dodane do kontenera DependencyInjection .

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<ITelemetryInitializer, MyCustomTelemetryInitializer>();
}

Uwaga

services.AddSingleton<ITelemetryInitializer, MyCustomTelemetryInitializer>(); działa w przypadku prostych inicjatorów. W przypadku innych użytkowników wymagane są następujące elementy: services.AddSingleton(new MyCustomTelemetryInitializer() { fieldName = "myfieldName" });

Usuwanie telemetriiInitializers

Domyślnie inicjatory telemetrii są obecne. Aby usunąć wszystkie lub określone inicjatory telemetrii, użyj następującego przykładowego kodu po wywołaniu metody AddApplicationInsightsTelemetry().

public void ConfigureServices(IServiceCollection services)
{
    services.AddApplicationInsightsTelemetry();

    // Remove a specific built-in telemetry initializer
    var tiToRemove = services.FirstOrDefault<ServiceDescriptor>
                        (t => t.ImplementationType == typeof(AspNetCoreEnvironmentTelemetryInitializer));
    if (tiToRemove != null)
    {
        services.Remove(tiToRemove);
    }

    // Remove all initializers
    // This requires importing namespace by using Microsoft.Extensions.DependencyInjection.Extensions;
    services.RemoveAll(typeof(ITelemetryInitializer));
}

Dodawanie procesorów telemetrii

Niestandardowe procesory telemetryczne można dodać do TelemetryConfiguration programu przy użyciu metody AddApplicationInsightsTelemetryProcessor rozszerzenia w systemie IServiceCollection. Procesory telemetryczne są używane w zaawansowanych scenariuszach filtrowania. Użyj poniższego przykładu.

public void ConfigureServices(IServiceCollection services)
{
    // ...
    services.AddApplicationInsightsTelemetry();
    services.AddApplicationInsightsTelemetryProcessor<MyFirstCustomTelemetryProcessor>();

    // If you have more processors:
    services.AddApplicationInsightsTelemetryProcessor<MySecondCustomTelemetryProcessor>();
}

Konfigurowanie lub usuwanie domyślnych modułów telemetrycznych

Aplikacja Szczegółowe informacje automatycznie zbiera dane telemetryczne dotyczące określonych obciążeń bez konieczności ręcznego śledzenia przez użytkownika.

Domyślnie są włączone następujące moduły automatycznej kolekcji. Te moduły są odpowiedzialne za automatyczne zbieranie danych telemetrycznych. Można je wyłączyć lub skonfigurować w celu zmiany ich domyślnego zachowania.

  • RequestTrackingTelemetryModule — Zbiera dane RequestTelemetry z przychodzących żądań internetowych
  • DependencyTrackingTelemetryModule — Zbiera zależnościTelemetrię z wychodzących wywołań HTTP i wywołań SQL
  • PerformanceCollectorModule— Zbiera Windows performanceCounters
  • QuickPulseTelemetryModule — Zbiera dane telemetryczne do wyświetlania w portalu metryk na żywo
  • AppServicesHeartbeatTelemetryModule— Zbiera bity serca (które są wysyłane jako metryki niestandardowe), informacje o środowisku Azure App Service, w którym jest hostowana aplikacja
  • AzureInstanceMetadataTelemetryModule — Zbiera bity serca (które są wysyłane jako metryki niestandardowe), o środowisku maszyny wirtualnej platformy Azure, w którym jest hostowana aplikacja
  • EventCounterCollectionModule - Zbiera eventcounters; Ten moduł jest nową funkcją i jest dostępny w zestawie SDK w wersji 2.8.0 lub nowszej

Aby skonfigurować dowolną domyślną metodę TelemetryModule, użyj metody ConfigureTelemetryModule<T> rozszerzenia w systemie IServiceCollection, jak pokazano w poniższym przykładzie.

using Microsoft.ApplicationInsights.DependencyCollector;
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector;

public void ConfigureServices(IServiceCollection services)
{
    services.AddApplicationInsightsTelemetry();

    // The following configures DependencyTrackingTelemetryModule.
    // Similarly, any other default modules can be configured.
    services.ConfigureTelemetryModule<DependencyTrackingTelemetryModule>((module, o) =>
            {
                module.EnableW3CHeadersInjection = true;
            });

    // The following removes all default counters from EventCounterCollectionModule, and adds a single one.
    services.ConfigureTelemetryModule<EventCounterCollectionModule>(
            (module, o) =>
            {
                module.Counters.Add(new EventCounterCollectionRequest("System.Runtime", "gen-0-size"));
            }
        );

    // The following removes PerformanceCollectorModule to disable perf-counter collection.
    // Similarly, any other default modules can be removed.
    var performanceCounterService = services.FirstOrDefault<ServiceDescriptor>(t => t.ImplementationType == typeof(PerformanceCollectorModule));
    if (performanceCounterService != null)
    {
        services.Remove(performanceCounterService);
    }
}

W wersjach 2.12.2 lub nowszych ApplicationInsightsServiceOptions dostępna jest łatwa opcja wyłączania dowolnych modułów domyślnych.

Konfigurowanie kanału telemetrii

Domyślnym kanałem telemetrii jest ServerTelemetryChannel. W poniższym przykładzie pokazano, jak go zastąpić.

using Microsoft.ApplicationInsights.Channel;

    public void ConfigureServices(IServiceCollection services)
    {
        // Use the following to replace the default channel with InMemoryChannel.
        // This can also be applied to ServerTelemetryChannel.
        services.AddSingleton(typeof(ITelemetryChannel), new InMemoryChannel() {MaxTelemetryBufferCapacity = 19898 });

        services.AddApplicationInsightsTelemetry();
    }

Uwaga

Zobacz Opróżnianie danych , jeśli chcesz opróżnić bufor — na przykład jeśli używasz zestawu SDK w aplikacji, która zostanie zamknięta.

Dynamiczne wyłączanie telemetrii

Jeśli chcesz wyłączyć telemetrię warunkowo i dynamicznie, możesz rozpoznać TelemetryConfiguration wystąpienie za pomocą kontenera iniekcji zależności ASP.NET Core w dowolnym miejscu w kodzie i ustawić na nim flagęDisableTelemetry.

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddApplicationInsightsTelemetry();
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, TelemetryConfiguration configuration)
    {
        configuration.DisableTelemetry = true;
        ...
    }

Poprzedni przykładowy kod uniemożliwia wysyłanie danych telemetrycznych do usługi Application Szczegółowe informacje. Nie uniemożliwia ona zbierania danych telemetrycznych przez żadne moduły kolekcji automatycznej. Jeśli chcesz usunąć określony moduł automatycznego zbierania danych, zobacz usuwanie modułu telemetrii.

Zestaw SDK typu open source

Najnowsze aktualizacje i poprawki błędów można znaleźć w informacjach o wersji.

Następne kroki