OpenTelemetry 项目包含了一系列组件同时也支持了多种的数据源类型。具体来说,OpenTelemetry 实现的内容包括:

  • 各个语言的插桩库
  • Collector 二进制程序

可以基于上述内容来创建一个自己的发行版。

什么是发行版

一个发行版和 fork 一个代码库是不一样的。发行版是指针对 OpenTelemetry 进行一些定制配置得到的。一个发行版可能会包含如下一些内容:

  • 用于简化接入特定后端服务使用的脚本;
  • 调整一些默认配置来满足特性后端和用户的需求;
  • 提供一些额外的 package 选项来支持指定用户或者后端服务商的需求;
  • 提供一些更多的测试、性能评估、安全评估的能力;
  • 扩展支持一些 OpenTelemetry 没有提供的功能;
  • 裁剪一些 OpenTelemetry 已有的功能等。

因此,发行版大致可以分为以下几类:

  • 原生能力:提供与 OpenTelemetry 一致的功能,100% 兼容。这种一般是针对特定的后端服务或者用户特定的。
  • 补充能力:相比 OpenTelemetry 而言,提供更多的功能,例如可以包含一些额外的组件、额外的自动插桩库、支持一些特定后端服务的数据导出能力。
  • 裁剪能力:从 OpenTelemetry 中裁剪掉一些功能,例如自动插桩库等。这些一般都是处于某些可维护性和安全性考虑进行的。

谁能够创建一个发行版

谁都能创建一个发行版。
只要你觉得 Registry 中的功能不满足你的需求,你就可以考虑创建一个对应的发行版。

创建一个你自己的发行版

Collector

关于如何创建自己发行版的 Collector,可以参考本文
如果你想构建一个发行版,那么 Collector Builder 是一个很好的开发起点。

关于发行版,你需要了解这些

OpenTelemetry 目前没有官方认证的发行版。
未来,OpenTelemetry 可能会像 Kubernetes 项目一样对发行版和合作伙伴进行认证。