如何知道应用程序见解遥测客户端是否正常运行?

时间:2015-05-29 15:46:19

标签: c# azure azure-application-insights

此代码执行时没有任何错误,但显然不会在ApplicationInsights中记录任何内容。 foobar密钥无效。

 var client = new TelemetryClient
 {
    Context = { InstrumentationKey = "foobar" }
 };

 client.TrackEvent(telemetryEvent);

我明白这可能是一件好事。我不希望我的应用程序崩溃,因为AppInsights不可用。但是知道某种程度上它是不可达的会很好,所以我可以做其他事情。

我认为可能附加的错误:

  • 无法访问api
  • 事件格式错误
  • api密钥无效

其中一些可能是transcient(api暂时不可用),但其他可能不是(无效的api密钥)。

有什么办法可以“测试”客户对这些案件做出反应吗?

类似的东西:

if (!client.IsAppInsightReachable)
{
  //Send an email to someone so he can check if everything is OK
}

3 个答案:

答案 0 :(得分:2)

如果你真的想这样做,你可能会这样做,但重新发明轮子可能需要做很多工作。

你必须自己做很多工作,实现或包装诸如ITelemetryChannel之类的东西来做你想做的事。

various application insights sdks are up on github的大部分来源:

答案 1 :(得分:1)

我设法了解了遥测客户端的工作方式,请参阅我自己的问题,在那里我描述了我如何设法检测Application Insights的连接问题:

Detecting whether or not (and why) Application Insights can send telemetry data to Azure

答案 2 :(得分:0)

一种选择是使用Fiddler作为代理来查看是否从SDK发送事件。 Placeholder 描述了如何做到这一点。