我的应用程序洞察采用“现收现付”模式运行。 标准绩效指标显示在门户中。 自定义指标不会显示在指标部分中。
我的环境。 运行普通 TCP 套接字的自定义 .NET Core 控制台应用程序。 (无 ASP.NET 核心) 使用
<PackageReference Include="Microsoft.ApplicationInsights" Version="2.7.2" />
Telemetry 类是使用默认构造函数构建的(并且没有 XML 配置文件)
自定义指标的创建方式如下
Telemetry.Client.GetMetric("number of clients").TrackValue(600.0);
问题: 我错过了什么或做错了什么,以致自定义指标没有显示? Azure 门户中的“指标”部分是否不是查找自定义指标的错误位置?
更新
示例代码也不会将任何自定义指标上传到 Azure。
TelemetryClient client = new TelemetryClient();
client.InstrumentationKey = "a valid key";
client.GetMetric("test me").TrackValue(200);
client.Flush();
Thread.Sleep(5000);
最佳答案
此问题是由于检测 key 配置不正确造成的。
当使用GetMetric().TrackValue()
时,我们应该使用这种方式来配置instrumentation key:
TelemetryConfiguration.Active.InstrumentationKey = "您的 key "
;
我的代码如下:
TelemetryClient client = new TelemetryClient();
TelemetryConfiguration.Active.InstrumentationKey = "your key";
client.GetMetric("test33").TrackValue(100);
System.Threading.Thread.Sleep(1000*5);
client.Flush();
Console.WriteLine("Hello World!");
Console.ReadLine();
然后在 Visual Studio 输出窗口中,您可以看到 ikey 显示在那里:
然后进入azure门户->应用程序洞察->指标,您可以看到您的指标:
为了进行比较,当您使用以下代码时:
client.InstrumentationKey = "a valid key";
client.GetMetric("test me").TrackValue(200);
关于c# - 应用洞察.NET |自定义指标不会显示在 Portal.azure.com 的指标下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52552622/