【问题标题】:Application Insights - How to create a auto-hookup framework?Application Insights - 如何创建自动连接框架?
【发布时间】:2020-06-26 19:42:14
【问题描述】:

我想改进一个开源数据驱动程序并将其集成到 Azure Application Insights 中,例如 Sql Server,您只需添加它...

另一种选择是像 Azure 消息总线一样设置它:module.IncludeDiagnosticSourceActivities.Add("Microsoft.Azure.ServiceBus");

我该怎么做?有没有关于该主题的文档?

【问题讨论】:

  • 您可能需要创建一个TelemetryModule 或至少一些TelemetryProcessors/TelemetryInitializers。由于大多数 AddAppInsights 调用都配置了 DependencyTelemetryModule,因此 Sql 的东西起作用了。它本身是开源的,所以也许是一个开始的地方
  • 是吗?开源我的意思是......你能指出我的实现吗?
  • 现在不行了。但我向你保证,因为我之前已经挖掘过它,试图做与你类似的事情。查找 Web 组件的 Appinsight github。如果我没记错的话,它可能已经存档了,但这就是我开始的地方。
  • 事实上,在所有 github 上搜索 DependencyTrackingTelemetryModule,然后将其缩减为 C# 并在 ASP.Net 存储库中)。这就是我所做的。 (我在原始评论中的名称有错字。我在这里更正了)

标签: c# monitoring azure-application-insights


【解决方案1】:

您是否询问有关检测开源数据驱动程序库的问题,以便在启用 ApplicationInsights 的应用程序中使用该库时,显示来自该数据驱动程序库的遥测? 如果是这种情况,则需要像其他库(例如:SqlClient、HttpClient)一样,使用 DiagnosticSource/Activity 对库进行检测,然后编写像 DependencyTelemetryModule 这样的模块来监听 DiagnosticSource/Activity 回调,并将其转换为 ApplicationInsights型号。

解释仪器方面的文档: https://github.com/dotnet/runtime/blob/master/src/libraries/System.Diagnostics.DiagnosticSource/src/ActivityUserGuide.md

显示 HttpClient 是如何被插入的实际代码: https://github.com/dotnet/runtime/blob/master/src/libraries/System.Net.Http/src/System/Net/Http/DiagnosticsHandler.cs

(免责声明:我在 Application Insights 团队工作。也是 .NET/OpenTelemetry 的一部分。关于如何检测库的指南发生了相当大的转变。它仍然使用活动,但方式不同。新的指南未在任何地方正式发布,它将在 .NET 5 时间范围内完成~2020 年 11 月)

这就是你要找的吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-23
    • 2022-01-07
    • 2020-04-16
    • 2023-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多