.NET 分布式跟踪
分布式跟踪是一种诊断技术,可帮助工程师找出应用程序中的故障和性能问题,尤其是那些可能跨多个计算机或进程分布的问题。 此技术通过应用程序跟踪请求,将不同应用程序组件完成的工作关联在一起,并将其与应用程序可能为并发请求所做的其他工作分开。 例如,对典型 Web 服务的请求可能首先由负载均衡器接收,然后转发到 Web 服务器进程,后者随后会对数据库进行多次查询。 使用分布式跟踪,工程师可以区分这些步骤中的任何一项是否失败、每个步骤所用的时间,并有可能记录每个步骤运行时生成的消息。
.NET 应用开发人员入门
关键 .NET 库经过检测,可自动生成分布式跟踪信息。 但是,需要收集并存储这些信息,以供日后查看。 通常,应用开发人员会选择使用遥测服务来为其存储这些跟踪信息,然后使用相应的库将分布式跟踪遥测传输到所选的服务:
- OpenTelemetry 是一个与供应商无关的库,支持多种服务。 有关详细信息,请参阅使用 OpenTelemetry 收集分布式跟踪。
- Application Insights 是由 Microsoft 提供的功能齐全的服务。 有关详细信息,请参阅使用 Application Insights 收集分布式跟踪。
- 有许多高质量的第三方应用程序性能监视 (APM) 供应商提供集成的 .NET 解决方案。
有关详细信息,请参阅了解分布式跟踪概念和以下指南:
对于第三方遥测收集服务,请按照供应商提供的设置说明进行操作。
.NET 库开发人员入门
对于 .NET 库,我们不需要关心遥测数据最终是如何收集的,而只需要关心它是如何产生的。 如果希望库的使用者能够在分布式跟踪中看到库所做的详细工作,请添加分布式跟踪检测以提供支持。
有关详细信息,请参阅了解分布式跟踪概念和添加自定义分布式跟踪检测指南。