.net core DiagnosticsSource-DiagnosticsListener-仅适用于框架?

.net core DiagnosticsSource-DiagnosticsListener-仅适用于框架?,.net-core,instrumentation,.net Core,Instrumentation,NET内核中有几个新类用于跟踪和分布式跟踪。请参见此处的降价文档: 作为一名应用程序开发人员,我们是否应该使用DiagnosticListener实例检测代码中的事件,如销售或库存消耗等,然后订阅消息并将其路由到某些度量存储,或者允许application Insights等工具自动订阅这些事件并将其推送到AI云 或 我们是否应该创建自己的指标来收集抽象,并“按照正常情况”将其注入/流到堆栈中,并假装我从未见过diagnosticstener 我同样需要将“健康事件”发布到ServiceFab

NET内核中有几个新类用于跟踪和分布式跟踪。请参见此处的降价文档:

作为一名应用程序开发人员,我们是否应该使用
DiagnosticListener
实例检测代码中的事件,如销售或库存消耗等,然后订阅消息并将其路由到某些度量存储,或者允许application Insights等工具自动订阅这些事件并将其推送到AI云

我们是否应该创建自己的指标来收集抽象,并“按照正常情况”将其注入/流到堆栈中,并假装我从未见过
diagnosticstener


我同样需要将“健康事件”发布到ServiceFabric,我也可以解决这个问题(摘要)使用遍布各地的实例。

DiagnosticListener
旨在将库/应用程序与跟踪系统解耦:即,任何库都可以使用DiagnosticSource`通知任何消费者有关感兴趣的操作

跟踪系统可以动态订阅此类事件,并获取有关操作的广泛信息

如果您开发的应用程序和使用的跟踪系统支持
DiagnostiListener
,例如ApplicationInsights,则可以使用
DiagnosticListener
将代码与跟踪系统解耦,也可以直接使用其API。后者效率更高,因为没有额外的适配器将DS事件转换为AppInsights/其他跟踪系统事件。您还可以更轻松地微调这些事件

如果您确实想要这个抽象层,那么前者更好。 您可以将AI配置为使用任何
DiagnosticListener
(通过指定)

如果您编写了一个库,并且希望依赖平台上的可用内容,以便任何应用程序都可以使用它,而不会带来新的额外依赖项-
DiagnosticListener
是您的最佳选择

也认为跟踪和度量收集是不同的,跟踪更重且不承担任何聚合。如果您只希望自定义指标/事件而不需要in/out proc关联,我建议您直接使用跟踪系统API。

到的链接已断开