Azure App Insights 中的 Flush()

Flush() in Azure App Insights

对于Azure App Insights中的Flush()方法,我想知道它是否会影响项目的性能?

我尝试删除 Flush(),但所有自定义数据仍会发送到 App Insights.So 我的问题应该是为什么我们需要 Flush()?我们可以删除它吗?

Flush() on TelemetryClient 将它当前在缓冲区中的所有数据推送到 App Insights 服务。 您可以在此处查看其源代码:https://github.com/Microsoft/ApplicationInsights-dotnet/blob/3115fe1cc866a15d09e9b5f1f7f596385406433d/src/Microsoft.ApplicationInsights/TelemetryClient.cs#L593.

通常,Application Insights 会在后台批量发送您的数据,以便更有效地使用网络。 如果您启用了开发者模式或手动调用 Flush(),数据将立即发送。

通常您不需要调用 Flush()。 但是如果您知道进程将在该点之后退出,您将需要调用 Flush() 以确保所有数据都已发送。