OpenTelemetry及其前身OpenTracing与OpenCensus介绍
1. OpenTelemetry基础
OpenTelemetry中有多种span处理器可供选择。有一种处理器会在每个span完成时立即发送,另外,你也可以使用批处理处理器,它会按一定时间间隔发送一组span。你还可以在此处添加属性或其他元数据。
使用OpenTelemetry进行分布式追踪的基本操作很简单:创建一个追踪器(tracer),注册一个导出器(exporter),然后创建span。不过,要对实际服务进行检测,还需要做更多工作。
目前尚未讨论OpenTelemetry的两个方面:一是指标组件,因为本文主要关注分布式追踪;二是OpenTelemetry的分布式上下文组件,你可以在其他资料中了解更多相关内容。
OpenTelemetry是用于分布式追踪代码检测的新标准。它得到了主要云服务和可观测性供应商的广泛支持,这确保了它有必要的资源进行维护和改进,并且预计它将在现有和新的开源框架及库中迅速得到采用。接下来,我们将介绍它的前身OpenTracing和OpenCensus,帮助你理解它们与OpenTelemetry的差异和相似之处。
2. OpenTracing
2.1 起源与目标
OpenTracing于2016年推出,旨在解决追踪检测的混乱状态。尽管像谷歌这样的大型科技公司已经使用分布式追踪十多年了,但总体采用率仍然较低。OpenTracing的作者认为问题出在检测环节,一个请求会经过各种各样的进程,所有这些进程都需要进行检测才能实现互操作,而现有的检测选项会让你不得不依赖特定的追踪供应商。