【问题标题】:Include SQL query parameter values in Application Insights telemetry在 Application Insights 遥测中包括 SQL 查询参数值
【发布时间】:2018-10-20 12:29:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: sql azure-application-insights telemetry


    【解决方案1】:

    这在 GitHub 上作为功能请求进行跟踪:https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/193

    我们已经为 http 调用实现了这种类型的可扩展性,您现在可以访问原始 http 请求对象以提取更多详细信息。

    使用当前版本的 SDK,最好的选择是在当前线程的某处设置这些参数并从遥测初始化程序访问或通过包装所有 SQL 调用手动跟踪此操作。

    希望对你有帮助

    【讨论】:

    • 我看到问题已关闭。有没有例子说明如何使用?
    【解决方案2】:

    您应该能够使用自定义依赖项跟踪功能并使用来自代码的正确信息为 SQL 数据库依赖项创建遥测。 - https://docs.microsoft.com/en-us/azure/application-insights/app-insights-asp-net-dependencies#custom-dependency-tracking

    【讨论】:

    • 这在概念上听起来不错,但挖掘 EF 的内部结构以使用参数值挂钩到其生成的 SQL 似乎是一项艰巨的任务。我希望有更多现成的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多