对于ASP.NET Core(可能还有其他平台),默认情况下,Application Insights会将所有查询作为依赖项操作跟踪到Azure SQL数据库(可能还有其他平台)。对于每个查询,它都会记录查询字符串,如下所示:
SELECT [b].[Foo] FROM [Bar] AS [b] WHERE [b].[Id] = @id
但是,它不记录@id
的值。如何使其记录查询参数的值?
答案 0 :(得分:4)
这是作为功能请求在GitHub上跟踪的:https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/193
我们已经为http调用实现了这种可扩展性,现在您可以访问原始的http请求对象以提取其他详细信息。
对于当前版本的SDK,最好的选择是在当前线程的某个位置设置这些参数,并从遥测初始化程序进行访问,或者通过包装所有SQL调用来手动跟踪此操作。
希望这会有所帮助
答案 1 :(得分:0)
您应该能够使用自定义依赖性跟踪功能,并使用代码中的正确信息为SQL数据库依赖性创建遥测。 -https://docs.microsoft.com/en-us/azure/application-insights/app-insights-asp-net-dependencies#custom-dependency-tracking