Activer Profiler pour les applications Web ASP.NET Core hébergées sous Linux

À l’aide de Profiler, vous pouvez suivre le temps passé dans chaque méthode de vos applications web ASP.NET Core actives hébergées dans Linux sur Azure App Service. Cet article se concentre sur les applications web hébergées dans Linux. Vous pouvez également effectuer des expériences à l’aide d’environnements de développement Linux, Windows et Mac.

Dans cet article, vous découvrirez comment :

  • Configurez et déployez une application web ASP.NET Core hébergée sur Linux.
  • Ajoutez Application Insights Profiler à l’application web ASP.NET Core.

Prérequis

Configurer le projet localement

  1. Ouvrez une fenêtre d’invite de commandes sur votre machine.

  2. Créez une application web ASP.NET Core MVC :

    dotnet new mvc -n LinuxProfilerTest
    
  3. Modifiez le répertoire de travail sur le dossier racine pour le projet.

  4. Ajoutez le package NuGet pour collecter les traces du profileur :

    dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore
    
  5. Dans votre éditeur de code préféré, activez Application Insights et Profiler dans Program.cs. Ajoutez des paramètres personnalisés du Profileur, le cas échéant.

    Pour WebAPI:

    // Add services to the container.
    builder.Services.AddApplicationInsightsTelemetry();
    builder.Services.AddServiceProfiler();
    

    Pour Worker:

    IHost host = Host.CreateDefaultBuilder(args)
        .ConfigureServices(services =>
        {
            services.AddApplicationInsightsTelemetryWorkerService();
            services.AddServiceProfiler();
    
            // Assuming Worker is your background service class.
            services.AddHostedService<Worker>();
        })
        .Build();
    
    await host.RunAsync();
    
  6. Enregistrez et validez vos modifications dans le référentiel local :

    git init
    git add .
    git commit -m "first commit"
    

Créer l’application web Linux pour héberger votre projet

  1. Dans le Portail Azure, créez un environnement d’application web à l’aide d’App Service sur Linux.

    Capture d’écran qui montre la création de l’application web Linux.

  2. Accédez à votre nouvelle ressource d’application web et sélectionnez les informations d’identification FTPSduCentre de déploiement> pour créer les informations d’identification de déploiement. Notez vos informations d'identification à utiliser par la suite.

    Capture d’écran qui montre la création des informations d'identification de déploiement.

  3. Sélectionnez Enregistrer.

  4. Sélectionnez l’onglet Settings (Paramètres).

  5. Dans la liste déroulante, sélectionnez Git local pour configurer un référentiel Git local dans l’application web.

    Capture d’écran qui montre les options d’affichage du déploiement d’une liste déroulante.

  6. Sélectionnez Enregistrer pour créer un référentiel Git avec un URI de clone Git.

    Capture d’écran qui montre la configuration du référentiel Git local.

    Si vous souhaitez obtenir plus d’options de déploiement, veuillez consulter la documentation App Service.

Déployez votre projet

  1. Dans la fenêtre d’invite de commandes, accédez au dossier racine de votre projet. Ajoutez un référentiel distant Git de façon à pointer vers le référentiel d’App Service :

    git remote add azure https://<username>@<app_name>.scm.azurewebsites.net:443/<app_name>.git
    
    • Utilisez le nom d’utilisateur que vous avez utilisé pour créer les informations d’identification de déploiement.
    • Utilisez le nom de l’application que vous avez utilisé pour créer l’application web à l’aide d’App Service sur Linux.
  2. Déployez le projet en envoyant les modifications vers Azure :

    git push azure main
    

    Vous devez obtenir une sortie similaire à la suivante :

    Counting objects: 9, done.
    Delta compression using up to 8 threads.
    Compressing objects: 100% (8/8), done.
    Writing objects: 100% (9/9), 1.78 KiB | 911.00 KiB/s, done.
    Total 9 (delta 3), reused 0 (delta 0)
    remote: Updating branch 'main'.
    remote: Updating submodules.
    remote: Preparing deployment for commit id 'd7369a99d7'.
    remote: Generating deployment script.
    remote: Running deployment command...
    remote: Handling ASP.NET Core Web Application deployment.
    remote: ......
    remote:   Restoring packages for /home/site/repository/EventPipeExampleLinux.csproj...
    remote: .
    remote:   Installing Newtonsoft.Json 10.0.3.
    remote:   Installing Microsoft.ApplicationInsights.Profiler.Core 1.1.0-LKG
    ...
    

Ajouter Application Insights pour contrôler votre application web

Trois options vous permettent d’ajouter Application Insights à votre application web :

  • À l’aide du volet Application Insights dans le Portail Azure.
  • À l’aide du volet Configuration dans le Portail Azure.
  • En apportant un ajout manuel aux paramètres de votre application web.
  1. Dans votre application web sur le Portail Azure, sélectionnez Application Insights dans le volet gauche.

  2. Sélectionnez Activer Application Insights.

    Capture d’écran qui montre l’activation d’Application Insights.

  3. Sous Application Insights, sélectionnez Activer.

    Capture d’écran qui montre l’activation d’Application Insights.

  4. Sous Lier à une ressource Application Insights, créez une ressource ou sélectionnez une ressource existante. Pour cet exemple, nous créons une nouvelle ressource.

    Capture d’écran qui montre la liaison d’Application Insights vers une ressource nouvelle ou existante.

  5. Sélectionnez Appliquer>Oui pour appliquer, puis confirmer.

Étapes suivantes