前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >合并OpenTracing和OpenCensus的趋同路线图

合并OpenTracing和OpenCensus的趋同路线图

作者头像
CNCF
发布2019-12-04 11:25:15
1.3K0
发布2019-12-04 11:25:15
举报
文章被收录于专栏:CNCFCNCF

作者:Ted Young、Pritam Shah和“技术规范委员会”(Carlos Alberto、Bogdan Drutu、Sergey Kanzhelev和Yuri Shkuro)。

简短的版本

  • 我们正在创建一套新的、统一的库和可观测遥测技术规范。它将合并OpenTracing和OpenCensus项目,并提供一个受支持的迁移路径。
  • Java参考实现于4月24日发布,跨语言工作将于2019年5月8日正式开始。这里查看合并的时间表。
  • 到2019年9月,我们计划与现有的C#、Golang、Java、NodeJS和Python项目实现功能对等。有很多事情要做,但是如果我们并行化,我们可以做到。如果你有兴趣参与这个项目,请登记并告诉我们你想如何贡献。
  • 当每种语言达到功能对等时,对应的OpenTracing和OpenCensus项目将会消失。这意味着旧的项目将被冻结,但是新项目将通过向后兼容桥继续支持现有的测仪两年。

https://storage.googleapis.com/open-source-software/OpenConsensus%20Roadmap.jpg

https://forms.gle/HCGGoLRzoPm6o29K6

项目概述

我们合并!高级目标是将OpenTracing和OpenCensus项目综合成一个单一的、统一的项目。新项目的核心将是一组干净的、经过深思熟虑的接口,以及实现这些接口的库的规范分发(称为SDK)。数据和有线协议的推荐标准,以及基础设施的共同部分,完成了该项目。

其结果将是一个完整的遥测系统,适用于监测微服务和其他类型的现代分布式系统,并将兼容大多数主要的OSS和商业后端。

主要里程碑

  • 4月24日 推荐的候选提交评审。
  • 5月8日 组成团队,所有语言的工作开始。
  • 5月20日 项目在巴塞罗那KubeCon正式启动。
  • 9月6日 C#、Golang、Java、NodeJS和Python项目实现功能对等。
  • 11月6日 OpenTracing和OpenCensus项目正式落下帷幕。
  • 11月20日 圣地亚哥KubeCon的可观测性峰会举办日落派对。

趋同时间线

每种语言的迁移包括构建可生产的SDK、流行库的测仪、文档、CI、向后兼容性桥,以及关闭相关的OpenCensus和OpenTracing项目(“日落”)。我们已经定下一个雄心勃勃的目标,2019年9月是C#、Golang、Java、NodeJS和Python实现功能对等的目标日期。如果一种语言在那个时候还没有准备好,我们将把日落的日期推迟到日落的时候。但我们希望这不会发生。

当你检查下面的目标时,想想你想要如何参与其中。请填写登记表,或者在OpenTracing和OpenCensus Gitter聊天室中打招呼。

https://forms.gle/HCGGoLRzoPm6o29K6

https://gitter.im/opentracing/public

https://gitter.im/census-instrumentation/Lobby

时间轴的信息图表

目标:跨语言规范初稿(5月8日完成)

重要的是项目保持内聚性,即使我们在不同的语言上并行工作。跨语言规范为项目提供了此指导。它是用散文编写的,并且确保我们维护一个一致的系统,不管使用什么编程语言,这个系统都感觉很熟悉。

跨语言规范的初稿要求如下:

  • 常用术语的定义。
  • 用于描述分布式事务、统计和度量的模型。
  • 澄清在执行过程中遇到的重要问题。

这个目标阻碍所有其他工作,初稿必须在5月8日前完成。

目标:数据规范初稿(7月6日完成)

数据规范为跟踪和度量定义了一种通用的数据格式,以便所有流程导出的数据都可以由相同的遥测基础设施处理,而不管流程如何生成数据。这包括用于跨语言规范中描述的跟踪模型的数据模式,还包括用于跟踪用于捕获的常见操作(如HTTP请求、错误和数据库查询)的元数据定义。这些语义约定就是一个例子。

https://github.com/opentracing/specification/blob/master/semantic_conventions.md

第一个草案是基于当前OpenCensus数据格式,将包含以下内容:

  • 实现跨语言规范的数据模式
  • 常见操作的元数据定义。
  • JSON和Protobuf定义。
  • 客户端实现参考。

注意,还有一个用于在带内传播跟踪的有线协议,我们希望对其进行标准化。跟踪上下文(Trace-Context)传播格式正在通过W3C开发,可以在这里找到。

https://w3c.github.io/trace-context/

目标:在所有当前支持的语言中实现功能对等(9月6日完成)

为了使新项目取代现有项目,我们必须实现与现有语言生态系统的功能对等。

  • 用于跟踪、度量和上下文传播的接口定义,基于跨语言规范。
  • 一个可用于生产的SDK,它实现这些接口并导出跟踪数据。当可用时,SDK将通过移植现有OpenCensus实现来创建。
  • 用于当前由OpenTracing和OpenCensus覆盖的流行库的测仪。

我们重视向后兼容性,并确保从现有项目顺利迁移。

  • 新的SDK将包含一个OpenTracing桥,它实现了当前的OpenTracing接口。这允许遗留的OpenTracing测仪与同一过程中的新测仪一起工作,因此用户可以增量地迁移他们的测仪代码。
  • 当新的SDK准备就绪时,现有OpenCensus用户的升级计划将可用。与OpenTracing一样,遗留的测仪将继续与新测仪一起工作。
  • 到11月,OpenTracing和OpenCensus都将日落。从此以后,将不再发生提交。将在两年内支持与遗留测仪的向后兼容性。

为每种语言创建一流的SDK需要大量的工作,而这正是我们最需要帮助的地方。

目标:核心文档(9月6日完成)

文档对于任何开源项目的成功都是至关重要的。我们非常希望文档和学习成为一流的组件,编写文档的人被认为是这个项目的主要提交者。教开发者如何正确地观察他们的软件是我们想要对世界产生影响的关键部分。

至少,我们需要以下几点来开始:

  • 项目定位
  • 可观测性101
  • 入门
  • 语言指南(每种语言一本)

欢迎所有背景和技能水平的作家!新的网站是基于Hugo,markdown编写,非常容易作贡献。

目标:Registry v1.0(7月6日完成)

另一个关键组件是仓库,它是OpenTracing仓库的改进版本。

https://opentracing.io/registry

  • 很容易找到库、插件、安装程序和其他组件。
  • 轻松添加和管理仓库组件。
  • 了解每种语言中的SDK特性。

如果你对设计、前端和UX感兴趣,这是一个很好的项目。

目标:测试和发布基础架构(9月6日完成)

我们有一个广泛的项目承诺,建立一个质量测试和发布管道,以确保我们继续交付我们可以依赖的安全代码。如果你关心测试、基准测试和发布管道,请让我们知道。我们将清楚地标记生产准备的水平,测试基础设施的成熟度将是一个主要的决定因素。

目标:日落OpenTracing和OpenCensus(11月6日完成)

到9月6日,如果新项目达到功能对等,现有项目将开始关闭。在每种语言达到功能对等之后的两个月,相应的OpenTracing和OpenCensus项目将会日落。这意味着:

  • 存储库将被冻结,不再进行提交。
  • 现有测仪将有两年的支持计划。
  • 用户可以在继续使用现有测仪的同时升级到新的SDK。
  • 可以增量地迁移测仪。

参与

这是一个巨大的工程,我们需要全体人员齐心协力。如果你对观察能力很感兴趣,这是参与其中的最佳时机!

  • 填写报名表格,加入一个团队,并直接参与其中。
  • 请通过OpenTracing和OpenCensus Gitter通道与我们联系。
  • 查看当前正在开发的Java参考实现。

https://forms.gle/HCGGoLRzoPm6o29K6

https://gitter.im/opentracing/public

https://gitter.im/census-instrumentation/Lobby

https://github.com/bogdandrutu/openconsensus/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档