OpenTracing和OpenCensus的合并:融合之路


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


联合项目获得了名称: http : //opentelemetry.io


非常非常短:


  • 我们正在创建一套新的统一的库和规范集,用于监视遥测。 它将结合OpenTracing和OpenCensus项目,并提供一种受支持的迁移方法。
  • Java的参考实现将于4月24日发布,其他语言的实现工作将于2019年5月8日全面开始。 您可以此处查看时间表。
  • 到2019年9月,计划与C#,Golang,Java,NodeJS和Python的现有项目进行奇偶校验。 许多工作等待着我们,但如果我们并行工作,我们可以处理。 如果您有兴趣参与该项目,请注册并让我们知道您想如何贡献。
  • 当每种语言的实现成熟时,相应的OpenTracing和OpenCensus项目将关闭。 这意味着冻结旧项目,而新项目将使用向后兼容性继续支持现有工具两年。

项目概况



我们正在合并! 最高目标是将OpenTracing和OpenCensus项目整合到一个普通项目中。
新项目的核心将是一组干净且经过深思熟虑的接口,包括传统的库组装,这些库以所谓的形式实现这些接口 开发包 蛋糕上的樱桃将成为数据和有线协议(包括通用基础架构部分)的推荐标准。
结果将是一个完整的遥测系统,适用于监视微服务和其他类型的现代分布式系统,并与大多数主要的OSS和商业核心程序兼容。


关键事件


4月24日-推荐候选人提交审核。
8.05-组建了一个团队,开始使用所有语言。
05.20-该项目在巴塞罗那Kubecon正式启动。
6.09-C#,Golang,Java,NodeJS和Python中的实现与同位体实现奇偶校验。
6.11-OpenTracing和OpenCensus项目的正式完成。
11.20-告别晚会,以纪念在圣地亚哥库比肯举行的可观测性峰会上完成的项目。


融合时间表



每种语言的迁移包括构建可用于工业部署的SDK,用于流行库的工具,文档,CI,向后兼容工具,以及关闭相关的OpenCensus和OpenTracing项目(日落)。 我们为2019年9月设定了一个雄心勃勃的目标-实现C#,Golang,Java,NodeJS和Python语言的均等。 我们将推迟日落日期,直到所有语言都准备就绪为止。 但是最好避免这种情况。
查看目标时,请考虑您的个人参与情况,填写注册表或在OpenTracingOpenCensus项目的Gitter聊天中问候我们。 在此处以图表形式查看图表。


目标:中介语言规范的初稿(5月8日前完成)


即使在使用不同语言并行工作时,也必须一起工作。 中介语言规范为项目提供了指导。 听起来很平淡无奇,但它是支持无论您使用哪种编程语言都看似熟悉的整体系统的保证。


语言X规范初稿的强制性要求:


  • 通用术语的定义。
  • 用于描述分布式事务,统计信息和指标的模型。
  • 澄清在实施过程中出现的重要问题。

该目标阻碍了其余工作,第一稿应于5月8日完成。


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


数据规范定义了用于跟踪和度量的通用数据格式,因此所有进程导出的数据都可以由同一遥测基础结构处理,而不管数据生成过程如何。 这包括跨语言规范中描述的跟踪模型的数据模式。 还包括跟踪用来捕获的常见操作的元数据定义:例如HTTP请求,错误和数据库请求。 这些语义约定是一个示例。


第一稿基于当前的OpenCensus数据格式,并将包含以下内容:


  • 实现中介语言规范的数据模式。
  • 一般操作的元数据定义。
  • JSON和Protobuf定义。
  • 执行参考客户。

请注意,还有一个有线协议可分配带内跟踪,我们也希望对其进行标准化。 通过W3C正在开发跟踪上下文分发格式。


目标:所有主要支持语言的均等(9月6日前完成)


我们必须按照将旧项目替换为新项目的顺序,实现当前语言生态系统的均等。


  • 基于中介语言规范的跟踪,度量和上下文分布的接口定义。
  • 即用型SDK可以实现这些接口,并导出跟踪数据。 如果可能,将通过从OpenCensus迁移现有实现来创建SDK。
  • OpenTracing和OpenCensus当前涵盖的流行库工具包。

我们也很欣赏向后兼容性,并希望确保从现有项目的平稳过渡。


  • 新的SDK将与当前的OpenTracing接口具有向后兼容性。 他们将允许旧版OpenTracing工具与新工具在同一过程中一起使用,这将使用户逐渐转移他们的经验。
  • 当新的SDK准备就绪时,将为当前的OpenCensus用户创建一个更新计划。 与OpenTracing一样,旧工具可以继续与新工具一起使用。
  • 到11月,OpenTracing和OpenCensus都将因接受更改而关闭。 与旧版工具的向后兼容性将维持两年。

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


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


任何开源项目成功的关键因素就是文档。 我们需要一流的文档和培训工具,我们的技术作家是该项目上最活跃的开发人员。 培训开发人员以正确监控软件是我们希望对世界产生的最重要影响之一。


本文档的以下部分至少是开始所需的:


  • 项目方向。
  • 可观察性101。
  • 入门。
  • 语言指南(每种语言指南分别)。

我们邀请任何水平的作家! 我们的新站点基于使用通用标记的Hugo,因此非常容易贡献。


目标:注册表v1.0(7月6日之前完成)


注册表是另一个关键组件,它是OpenTracing Registry的改进版本。


  • 轻松查找库,插件,安装程序和其他组件。
  • 易于管理注册表组件。
  • 您可以了解每种语言都提供哪些SDK功能。

如果您对设计,界面和用户体验感兴趣,那么我们有一个很棒的个人参与项目。


目标:测试和软件发布的基础结构(9月6日之前完成)


为了使我们能够继续交付您可以依赖的安全代码,我们有一个项目承诺来创建用于测试和发布软件的高质量管道。 请让我们知道您是否可以照顾传送带进行测试,测量性能和发布软件。 我们清楚地表明了生产准备水平,而测试基础架构的成熟度将是我们的主要决定因素。


目的:关闭OpenTracing和OpenCensus项目(在11月6日之前完成)


如果新项目与旧项目持平,我们计划从9月6日开始关闭旧项目。 2个月后,我们计划以所有语言的均等价格关闭OpenTracing和OpenCensus项目。 应该理解如下:


  • 储存库将被冻结,将不再进行任何编辑。
  • 计划为当前工具包提供两年的支持期。
  • 用户将能够使用相同的工具升级到新的SDK。
  • 逐步更新将是可能的。

现在加入


我们将竭诚为您提供帮助,因为这是一个巨大的项目。 如果您有兴趣了解可观察性,那么现在是时候!


Source: https://habr.com/ru/post/zh-CN464001/


All Articles