首页 > 解决方案 > 无代码 Application Insights 自定义计数器

问题描述

我在 Windows Server 2016 Azure VM 中运行 Application Insights 的无代码版本。例如,使用 SDK,我知道可以添加自定义遥测数据,以便我可以更新出现在我的指标中的 cloudRoleName 值。

我的问题是,对于 Application Insights 推送的性能计数器,它只提供与w3wp#1进程相关的数据类似的值,但我真的希望能够将此进程与应用程序池相关联(理想情况下与 cloudRoleName 相关联)

我是否可以向 App Insights 代理添加任何配置以允许我添加自定义遥测数据,或者我是否必须将 SDK 添加到此 VM 上运行的每个 Dotnet 应用程序才能实现此目的?

标签: azure-application-insights

解决方案


如果我理解正确,您想为 cloudRoleName 提供自定义值,对吗?

如果是这种情况,唯一的方法是通过使用ITelemetryInitializer来使用代码(没有办法无代码,请参阅此问题。),这是一个示例:

public class CloudRoleNameTelemetryInitializer : ITelemetryInitializer
{
    public void Initialize(ITelemetry telemetry)
    {
      // set custom role name here
      telemetry.Context.Cloud.RoleName = "Custom RoleName";
    }
}

更多详情,您可以参考这篇文章


推荐阅读