Azure Application Insights 未跟踪 SQL 查询

Azure Application Insights not tracking SQL Queries

在将 Web 应用程序升级到 .Net Core 3.1 后,我们无法再看到在 Application Insights 中执行的实际 SQL 查询。由于 EF Core 3.x 存在一些严重的性能问题,我们将 EF Core 保留在 2.2 版,所以不确定这是否与此有关?我们现在看到的只是目标数据库的详细信息:

在此之前,我们使用的是 AspNetCore 2.2 和 EF Core 2.2,一切正常,Application Insights 向我们展示了正在执行的实际 SQL 语句。

我们已经尝试了 Microsoft here 的建议,它建议将 Microsoft.Data.SqlClient nuget 包添加到项目中,但这绝对没有任何作用.

我们还尝试在应用服务中打开“Application Insights -> Sql Commands”选项,但这也没有任何作用。

有没有人对如何让它再次工作有任何建议?

谢谢

编辑:

我们正在引用的 Nuget 包:

看来是Microsoft.ApplicationInsights.AspNetCore 2.14.0最新版本的问题。我可以在 2.14.0 中重现这个问题,但是当我将它降级到 2.12.0.

时它会起作用

使用Microsoft.ApplicationInsights.AspNetCore 2.12.0的测试结果:

我相信这是因为从 2.14 版本开始,SQL 命令收集在默认情况下关闭。它可以通过以下方式启用:

services.ConfigureTelemetryModule<DependencyTrackingTelemetryModule>((module, o) => { module. EnableSqlCommandTextInstrumentation = true; });

这里有更多信息:https://github.com/microsoft/ApplicationInsights-Announcements/issues/28