经过半年的努力,我们向OpenTelemetry社区贡献了完整的SkyWalking Receiver。从现在开始,使用SkyWalking探针的所有用户能够在不修改任何代码的情况下,丝滑的使用OpenTelemetry兼容的所有可观测性后端平台。
01 什么是分布式追踪
2010年,Google的一篇Dapper论文[1]开启了分布式追踪的序章。CNCF的 OpenTracing作为分布式追踪的标准协议,定义了一套厂商无关、语言无关的规范,也有Jaeger 、Zipkin等项目的实现和支持。
随后Google和微软提出了 OpenCensus项目,在定义分布式追踪协议的基础上,也规范了应用性能指标,并实现了一套标准的API ,为可观测性能力统一奠定了基础。经过对已有的标准协议不停的打磨和演变,CNCF提出了OpenTelemetry,它结合了OpenTracing与OpenCensus两个项目,成为了一个厂商无关、平台无关的支撑可观测性三大支柱的标准协议和开源实现。
另一方面,基于Dapper论文的思想,国内也有SkyWalking开源项目实现了分布式追踪,由于探针的无侵入性,SkyWalking获得了大量的用户,并且有越来越多的贡献者推动着它的高速迭代。
以Dapper的定义作为基准,一个标准的分布式Trace示例如下图所示。一个 Trace是由Span构成的有向无环图(D