没有 TelemetryClient.Flush() 是否存在内存影响或性能原因

Is there memory impact or performance cause without TelemetryClient.Flush()

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

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

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

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

通常,如果您不知道应用程序关闭的时间点,则不需要调用flush()flush 确实将所有数据都推入了应用洞察(后台)。

但是假设您知道应用程序关闭的时间点,那么您可以手动调用flush以确保所有数据都正确发送(不在缓冲区中保留任何内容)

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