没有TelemetryClient.Flush()是否会影响内存或导致性能下降

时间:2018-08-30 14:12:34

标签: c# azure azure-functions azure-application-insights telemetry

使用遥测客户端记录自定义事件日志,如下所示:

  var telemetryClient = new TelemetryClient();
  telemetryClient.InstrumentationKey = "<your actual insight instrumentkey>";    
  telemetryClient.TrackRequest(req.RequestUri.ToString(), DateTime.Now, Stopwatch.StartNew().Elapsed, "200", true);

我的问题是:我们需要使用telemetryClient.Flush()刷新客户端吗?

即使不刷新,它也可以工作,并且我们能够看到日志。

1 个答案:

答案 0 :(得分:1)

通常,如果您不知道应用程序已关闭的时间,则无需致电flush()flush实际上正在将所有数据推送到应用洞察中(背景)。

但是要说的是,如果您知道应用程序正在关闭的时间点,那么您可以手动调用flush以确保正确发送了所有数据(不保存任何内容)。缓冲区)

通常,如果您调用flush,它将立即发送数据而不会保留在缓冲区中

Refer this SO