.NET应用程序见解|自定义指标未显示在portal.azure.com中的指标下

时间:2018-09-28 09:47:31

标签: c# .net azure azure-application-insights

我具有“按需付费”模型运行的应用程序见解。 标准性能指标显示在门户中。 自定义指标不会显示在“指标”部分。

我的环境。 运行纯TCP套接字的自定义.NET核心控制台应用程序。 (没有ASP.NET CORE) 使用

<PackageReference Include="Microsoft.ApplicationInsights" Version="2.7.2" />

Telemetry类是使用默认构造函数构造的(并且没有XML配置文件)

自定义指标的创建方式类似于

Telemetry.Client.GetMetric("number of clients").TrackValue(600.0);

问题: 自定义指标没有显示,我想念或做错了什么? 天蓝色门户网站中的“指标”部分是否在寻找自定义指标的地方不正确?

更新

该示例代码也没有将任何自定义指标上传到Azure。

        TelemetryClient client = new TelemetryClient();
        client.InstrumentationKey = "a valid key";
        client.GetMetric("test me").TrackValue(200);
        client.Flush();
        Thread.Sleep(5000);

2 个答案:

答案 0 :(得分:3)

由于检测键配置不正确,导致此问题。

使用GetMetric().TrackValue()时,我们应该使用这种方式来配置检测键:

TelemetryConfiguration.Active.InstrumentationKey = "your 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显示在其中: enter image description here

然后转到azure门户->应用程序见解->指标,您可以看到您的指标: enter image description here

为进行比较,当您使用以下代码时:

client.InstrumentationKey = "a valid key";
client.GetMetric("test me").TrackValue(200);

执行后,在Visual Studio中,您可以看到输出窗口中没有ikey,因此不会将度量标准发送到Azure门户: enter image description here

答案 1 :(得分:1)

感谢Ivan Yang,我找到了一个github问题,正在详细讨论这个问题。

似乎有多种情况创建无效的配置。

例如,当前这也是无效的配置

TelemetryConfiguration tcConfig = new TelemetryConfiguration();

TelemetryClient tc = new TelemetryClient(tcConfig)
{
    InstrumentationKey = ikey
};

有关https://github.com/Microsoft/ApplicationInsights-dotnet/issues/826https://www.reddit.com/r/Unity3D/comments/8igabt/using_microsoft_azure_app_insights_and_unity/的更多详细信息