在Application Insights遥测中包括SQL查询参数值

时间:2018-10-20 12:29:28

标签: sql azure-application-insights telemetry

对于ASP.NET Core(可能还有其他平台),默认情况下,Application Insights会将所有查询作为依赖项操作跟踪到Azure SQL数据库(可能还有其他平台)。对于每个查询,它都会记录查询字符串,如下所示:

SELECT [b].[Foo] FROM [Bar] AS [b] WHERE [b].[Id] = @id

但是,它不记录@id的值。如何使其记录查询参数的值?

2 个答案:

答案 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