Abilitare Profiler per le app Web ASP.NET Core ospitate in Linux
Usando Application Insights Profiler per .NET, è possibile tenere traccia della quantità di tempo impiegato in ogni metodo delle app Web live ASP.NET Core ospitate in Linux nel servizio app Azure. Questo articolo è incentrato sulle app Web ospitate in Linux. È anche possibile sperimentare usando ambienti di sviluppo Linux, Windows e Mac.
In questo articolo si apprenderà come:
- Configurare e distribuire un'applicazione Web ASP.NET Core ospitata in Linux.
- Aggiungere Application Insights Profiler all'applicazione Web ASP.NET Core.
Prerequisiti
- installare la versione più recente di .NET Core SDK.
- Installare Git seguendo le istruzioni disponibili in Introduzione - Installazione di Git.
- Esaminare gli esempi seguenti per il contesto:
Configurare il progetto in locale
Aprire una finestra del prompt dei comandi nel computer.
Creare un'applicazione Web ASP.NET Core MVC:
dotnet new mvc -n LinuxProfilerTest
Modificare la directory di lavoro scegliendo la cartella radice per il progetto.
Aggiungere il pacchetto NuGet per raccogliere le tracce del profiler:
dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore
Nell'editor di codice preferito abilitare Application Insights e .NET Profiler in
Program.cs
. Aggiungere impostazioni personalizzate del Profiler, se applicabile.Per
WebAPI
:// Add services to the container. builder.Services.AddApplicationInsightsTelemetry(); builder.Services.AddServiceProfiler();
Per
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();
Salvare le modifiche ed eseguirne il commit nel repository locale:
git init git add . git commit -m "first commit"
Creare l'app Web Linux per ospitare il progetto
Nel portale di Azure creare un ambiente app Web usando il Servizio app in Linux.
Andare alla nuova risorsa dell'app Web e selezionare Centro distribuzione>Credenziali FTPS per creare le credenziali di distribuzione. Prendere nota delle credenziali da usare in un secondo momento.
Seleziona Salva.
Seleziona la scheda Impostazioni.
Nell'elenco a discesa selezionare Git locale per configurare un repository Git locale nell'app Web.
Selezionare Salva per creare un repository Git con un URI clone Git.
Per altre opzioni di distribuzione, vedere la documentazione del Servizio app.
Distribuire il progetto
Nella finestra del prompt dei comandi passare alla cartella radice del progetto. Aggiungere un repository Git remoto in modo che punti al repository nel servizio app:
git remote add azure https://<username>@<app_name>.scm.azurewebsites.net:443/<app_name>.git
- Usare il nome utente usato per creare le credenziali di distribuzione.
- Usare il nome app usato per creare l'app Web con il servizio app in Linux.
Distribuire il progetto eseguendo il push delle modifiche in Azure:
git push azure main
L'output dovrebbe essere simile all'esempio seguente:
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 ...
Aggiungere Application Insights per monitorare le app Web
Sono disponibili tre opzioni per aggiungere Application Insights all'app Web:
- Usando il riquadro Application Insights nel portale di Azure.
- Usando il riquadro Variabili di ambiente nel portale di Azure.
- Aggiungendo manualmente alle impostazioni dell'app Web.
Nell'app Web nel portale di Azure selezionare Application Insights nel riquadro sinistro.
Selezionare Attiva Application Insights.
In Application Insights selezionare Abilita.
In Collegamento a una risorsa di Application Insights creare una nuova risorsa o selezionare una risorsa esistente. Per questo esempio, creiamo una nuova risorsa.
Selezionare Applica>Sì per applicare e confermare.