为 Linux 中的 Azure 应用服务应用启用 .NET Profiler

通过使用 .NET 的 Application Insights Profiler,可以跟踪你的 live ASP.NET Core web 应用中每个方法的耗时。 本文重点介绍了托管在 Linux 中的 Web 应用。 还可以使用 Windows 和 Mac 开发环境进行试验。

在本文中,您可以:

  • 在本地计算机上设置在 Linux 上托管的 ASP.NET Core Web 应用程序。
  • 使用 Azure 门户创建应用服务。
  • 使用本地 Git 将本地 ASP.NET Core项目部署到Azure。
  • 将探查器添加到 ASP.NET Core Web 应用程序。

注释

查看对经典 API SDK 支持策略的 Application Insights SDK 支持指南。

注意

对于新应用程序,请使用 Azure Monitor OpenTelemetry Distro。 它提供与 Application Insights SDK 类似的体验和可比功能。 若要迁移到基于 OpenTelemetry 的产品/服务,请查看 迁移指南

先决条件

在本地设置项目

  1. 在计算机上打开命令提示符窗口。

  2. 创建 ASP.NET Core MVC Web 应用程序:

    dotnet new mvc -n LinuxProfilerTest
    
  3. 将工作目录切换到项目的根文件夹。

  4. 添加 NuGet 包以便收集分析器的跟踪数据:

    dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore --prerelease
    dotnet add package Azure.Monitor.OpenTelemetry.Profiler --prerelease
    

启用.NET探查器

  1. 在您首选的代码编辑器中,验证是否已将 Azure Monitor OpenTelemetry Profiler 的这两个包添加到 .NET 代码的指定位置 Program.cs添加自定义探查器设置(如果适用)。

    在项目的 .csproj 文件中,验证是否已添加以下行:

    <ItemGroup>
        <PackageReference Include="Azure.Monitor.OpenTelemetry.AspNetCore" Version="[1.*-*, 2.0.0)" />
        <PackageReference Include="Azure.Monitor.OpenTelemetry.Profiler" Version="[1.*-*, 2.0.0)" />
    </ItemGroup>
    

    在你的文件Program.cs中,验证是否已添加以下行:

    using Azure.Monitor.OpenTelemetry.AspNetCore;
    using Azure.Monitor.OpenTelemetry.Profiler;
    
    ///
    
    builder.Services.AddOpenTelemetry()
        .UseAzureMonitor()          // Enable Azure Monitor OpenTelemetry distro for ASP.NET Core
        .AddAzureMonitorProfiler(); // Add Azure Monitor Profiler    
    
  2. 保存并提交对本地存储库的更改:

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

创建用于托管项目的 Linux Web 应用

  1. Azure 门户中,搜索并选择 App Services,然后选择 create>Web App

  2. 使用 Linux 上的应用服务 创建 Web 应用环境。

    显示创建 Linux Web 应用的屏幕截图。

  3. 转到新的 Web 应用资源。 在左侧菜单中,选择 “部署>部署中心”,然后选择 “FTPS 凭据 ”以创建部署凭据。 记下你的凭据以供稍后使用。

    显示创建部署凭据的屏幕截图。

  4. 选择“保存”。

  5. 选择“设置”选项卡。

  6. 若要在 Web 应用中设置本地 Git 存储库,请选择 “源”,然后选择“ 本地 Git”。

    显示在下拉列表中查看部署选项的屏幕截图。

  7. 选择“保存”以使用 Git Clone URI 创建 Git 存储库。

    显示设置本地 Git 存储库的屏幕截图。

部署项目

可以通过多种方式将代码部署到Azure 应用服务。 最简单的方法是使用本地 Git 进行部署。 有关详细信息,请参阅 使用本地 Git 部署到 Azure 应用服务

  1. 在命令提示符窗口中,浏览到项目的根文件夹。 添加 Git 远程存储库以指向应用服务上的存储库:

    git remote add azure https://<username>@<app_name>.scm.chinacloudsites.cn:443/<app_name>.git
    

    对于此值,请转到 Web 应用的 “概述 ”页。 复制 Git 克隆 URL

  2. 通过将更改推送到Azure来部署项目:

    git push azure main
    

添加 Application Insights 来监视 Web 应用

可以在创建应用服务时启用“Application Insights”,它会自动设置连接字符串。

从 Application Insights 资源中复制并粘贴“连接字符串”来监视您的 Web 应用。

  1. 复制连接字符串。
  2. 将连接字符串粘贴到环境中。

故障排除

如果找不到应用中的跟踪,请尝试本 故障排除指南中的步骤。

如果无法在应用中找到踪迹,请考虑按照本 故障排除指南中的步骤进行操作。

后续步骤