云原生之可观测性-OpenTracing、OpenSensus、OpenTelemetry

本文介绍了OpenTracing、OpenCensus和OpenTelemetry之间的区别与联系。OpenTracing是一个与厂商无关的API,专注于tracing。OpenCensus不仅支持traces,还包含metrics。OpenTelemetry是两者的合并,提供统一的遥测数据标准,包括traces、metrics和logs,旨在解决分布式和多语言体系的可观测性问题。OpenTelemetry支持多种语言的SDK,并允许将数据导出到不同的后端,简化了可观测性系统的开发和维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、OpenTracing

官网地址:https://opentracing.io/

OpenTracing是CNCF(Cloud Native Computing Foundation projects)的项目,它是一个与厂商无关的API,并提供了一种规范,可以帮助开发人员轻松的在他们的代码上集成tracing。官方提供了Go, JavaScript, Java, Python, Ruby, PHP, Objective-C, C++, C#等语言的支持。它是开发的不属于任何一家公司。事实上有很多公司正在支持OpenTracing,例如:Zipkin和Jaeger都遵循OpenTracing协议。

2016年11月的时候CNCF技术委员会投票接受OpenTracing作为Hosted项目,这是CNCF的第三个项目,第一个是Kubernetes,第二个是Prometheus,可见CNCF对OpenTracing背后可观察性的重视。

OpenTracing希望围绕什么是Tracing以及如何和我们的应用程序集成形成一种通用语言。OpenTracing中的trace是一个有向无环图,其引用如下:

[Span A]  ←←←(the root span)
            |
     +------+------+
     |             |
 [Span B]      [Span C] ←←←(Span C is a `ChildOf` Span A)
     |             |
 [Span D]      +---+-------+
               |           |
           [Span E]    [Span F] >>> [Span G] >>> [Span H]
                                       ↑
                                       ↑
                                       ↑
                         (Span G `FollowsFrom` Span F)
二、OpenCensus

官网地址:https://opencensus.io/

OpenCensus是Google开源的,作为最早提出Tracing概念的公司,OpenCensus也是Google Dapper的社区版本。

OpenSensus是允许你采集应用程序Metrics和分布式Traces,并且支持各种语言的库,比如:Go, Java, C#, Node.js, C++, Ruby, Erlang/Elixir, Python, Scala and PHP。支持将

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值