Cómo habilitar Profiler para aplicaciones web de ASP.NET Core hospedadas en Linux
Con Application Insights Profiler para .NET, puede realizar un seguimiento del tiempo invertido en cada método de las aplicaciones web de ASP.NET Core 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
- Instalar el último SDK de .NET Core.
- Instale Git siguiendo las instrucciones que encontrará en Introducción: instalación de Git.
- Revise los ejemplos siguientes para conocer el contexto:
Configuración del proyecto de forma local
Abra una ventana del símbolo del sistema en la máquina.
Cree una aplicación web MVC de ASP.NET Core:
dotnet new mvc -n LinuxProfilerTest
Cambie el directorio de trabajo a la carpeta raíz para el proyecto.
Agregue el paquete NuGet para recopilar los seguimientos de Profiler:
dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore
En el editor de código preferido, habilite Application Insights y .NET 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();
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
En Azure Portal, cree un entorno de aplicación web mediante App Service en Linux.
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.
Seleccione Guardar.
Seleccione la pestaña Configuración.
En la lista desplegable, seleccione GIT local para configurar un repositorio de GIT local en la aplicación web.
Seleccione Guardar para crear un repositorio Git con un URI de Git Clone.
Para más opciones de implementación, consulte la documentación de App Service.
Implementación del proyecto
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.
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.
En la aplicación web en Azure Portal, seleccione Application Insights en el panel de la izquierda.
Seleccione Activar Application Insights.
En Application Insights, seleccione Habilitar.
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.
Seleccione Aplicar>Sí para aplicar y confirmar.