Cómo habilitar Profiler para aplicaciones web de ASP.NET Core hospedadas en Linux

Al usar Profiler, puede realizar un seguimiento del tiempo invertido en cada método de las aplicaciones web de ASP.NET Core activas que se hospedan en Linux en Azure App Service. Este artículo se centra en las aplicaciones web hospedadas en Linux. También puede experimentar mediante entornos de desarrollo de Linux, Windows y Mac.

En este artículo:

  • Configure e implemente una aplicación web de ASP.NET Core hospedada en Linux.
  • Agregue Application Insights Profiler a la aplicación web de ASP.NET Core.

Prerrequisitos

Configuración del proyecto de forma local

  1. Abra una ventana del símbolo del sistema en la máquina.

  2. Cree una aplicación web MVC de ASP.NET Core:

    dotnet new mvc -n LinuxProfilerTest
    
  3. Cambie el directorio de trabajo a la carpeta raíz para el proyecto.

  4. Agregue el paquete NuGet para recopilar los seguimientos de Profiler:

    dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore
    
  5. En el editor de código que prefiera, habilite Application Insights y Profiler en Program.cs. Agregue una configuración personalizada de Profiler, si procede.

    Para WebAPI:

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

    Para 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. Guarde y confirme los cambios en el repositorio local:

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

Creación de la aplicación web en Linux para hospedar el proyecto

  1. En Azure Portal, cree un entorno de aplicación web mediante App Service en Linux.

    Captura de pantalla que muestra la creación de la aplicación web para Linux.

  2. Vaya al nuevo recurso de aplicación web y seleccione Centro de implementación>Credenciales de FTPS para crear las credenciales de implementación. Anote las credenciales para usarlas más adelante.

    Captura de pantalla que muestra la creación de las credenciales de implementación.

  3. Seleccione Guardar.

  4. Seleccione la pestaña Configuración.

  5. En la lista desplegable, seleccione GIT local para configurar un repositorio de GIT local en la aplicación web.

    Captura de pantalla que muestra las opciones de visualización de la implementación en una lista desplegable.

  6. Seleccione Guardar para crear un repositorio Git con un URI de Git Clone.

    Captura de pantalla que muestra cómo configurar el repositorio Git local.

    Para más opciones de implementación, consulte la documentación de App Service.

Implementación del proyecto

  1. En la ventana del símbolo del sistema, vaya a la carpeta raíz para el proyecto. Agregue el repositorio de Git remoto para que apunte a una de las instancias de App Service:

    git remote add azure https://<username>@<app_name>.scm.azurewebsites.net:443/<app_name>.git
    
    • Use el nombre de usuario que empleó para crear las credenciales de implementación.
    • Use el nombre de aplicación que usó para crear la aplicación web mediante App Service en Linux.
  2. Implemente el proyecto insertando los cambios en Azure:

    git push azure main
    

    Debería ver una salida similar al ejemplo siguiente:

    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
    ...
    

Adición de Application Insights para supervisar la aplicación web

Tiene tres opciones para agregar Application Insights a la aplicación web:

  • Al usar el panel de la instancia de Application Insights en Azure Portal.
  • Al usar el panel Configuración en Azure Portal.
  • Al agregar de forma manual la configuración de la aplicación web.
  1. En la aplicación web en Azure Portal, seleccione Application Insights en el panel de la izquierda.

  2. Seleccione Activar Application Insights.

    Captura de pantalla que muestra la activación de Application Insights.

  3. En Application Insights, seleccione Habilitar.

    Captura de pantalla que muestra cómo habilitar Application Insights.

  4. En Vincular a un recurso de Application Insights, cree un recurso o bien seleccione un recurso existente. En este ejemplo, se crea un nuevo recurso.

    Captura de pantalla que muestra cómo vincular Application Insights a un recurso nuevo o existente.

  5. Seleccione Aplicar> para aplicar y confirmar.

Pasos siguientes