如何设置应用程序见解TelemetryClient超时?

时间:2015-07-17 00:16:39

标签: azure-application-insights

我正在从客户端应用程序(.net)发送应用程序洞察度量标准事件,我想知道是否可以为TelemetryClient.Flush()设置超时,因为这是一个同步调用。 (应用程序将在操作完成后退出,因此我需要强制执行刷新调用以确保已发送度量标准。)

2 个答案:

答案 0 :(得分:1)

Flush方法的实现取决于您使用的频道。

如果您使用WebTelemetryChannel(默认情况下为Web SDK(https://www.nuget.org/packages/Microsoft.ApplicationInsights.Web.TelemetryChannel/),则Flush为异步。

如果您使用PersistenceChannel,这是设备SDK(https://www.nuget.org/packages/Microsoft.ApplicationInsights.PersistenceChannel/)的默认设置,则Flush是同步。正如伊兹克所说,没有可以覆盖的。

答案 1 :(得分:0)

Flush是一个阻塞操作,它不支持开箱即用的任何超时,但您始终可以启动新任务,在其中运行Flush并wait (with timeout)以完成此任务。

作为旁注,Flush不发送它只是持续存储到磁盘的任何遥测,因此速度相对较快。