分布
发行版(请勿与分支混淆)是 OpenTelemetry 组件的定制版本。
OpenTelemetry 项目由支持多种信号的多个组件组成。OpenTelemetry 的参考实现可作为:
任何参考实现都可以被定制为发行版。
什么是发行版?
发行版是 OpenTelemetry 组件的定制版本。发行版是对具有某些自定义的上游 OpenTelemetry 仓库的封装。发行版不应与分支相混淆。
发行版中的自定义可能包括:
- 用于简化使用或为特定后端或供应商定制的脚本
- 为后端、供应商或最终用户所需的默认设置所做的更改
- 特定于供应商或最终用户的其他打包选项
- 比 OpenTelemetry 提供的更广泛的测试、性能和安全覆盖
- 比 OpenTelemetry 提供的附加功能
- 比 OpenTelemetry 提供的功能少
发行版大致可分为以下几类:
- “纯粹”:这些发行版提供与上游相同的功能,并且 100% 兼容。自定义通常会增强易用性或打包。这些自定义可能是特定于后端、供应商或最终用户的。
- “增强版”:这些发行版通过附加组件在上游的基础上提供附加功能。例如,包括未上游到 OpenTelemetry 项目的仪器库或供应商导出器。
- “精简版”:这些发行版提供上游功能的子集。例如,移除 OpenTelemetry Collector 项目中发现的仪器库或接收器、处理器、导出器或扩展。这些发行版可能为了提高可支持性和安全性而提供。
谁可以创建发行版?
任何人都可以创建发行版。如今,有几个供应商提供发行版。此外,如果最终用户想要使用注册表中未上游到 OpenTelemetry 项目的组件,也可以考虑创建发行版。
贡献还是发行?
在继续阅读并了解如何创建自己的发行版之前,请问问自己,您对 OpenTelemetry 组件的补充是否对所有人都有益,因此应该包含在参考实现中。
- 您用于“简化使用”的脚本可以通用化吗?
- 您对默认设置的更改是否可以成为对所有人更好的选择?
- 您的附加打包选项是否真的具有特殊性?
- 您的测试、性能和安全覆盖是否也适用于参考实现?
- 您是否已与社区核实您的附加功能是否可以成为标准的一部分?
创建自己的发行版
Collector
关于如何创建自己的发行版的指南,请参见这篇博文:“构建您自己的 OpenTelemetry Collector 发行版”
如果您正在构建自己的发行版,OpenTelemetry Collector Builder 可能是一个不错的起点。
特定语言的仪器库
有特定语言的扩展机制可以自定义仪器库。
遵循指南
在使用 OpenTelemetry 项目的附属物(如 Logo 和名称)用于您的发行版时,请确保您符合 OpenTelemetry 贡献组织营销指南。
OpenTelemetry 项目目前不认证发行版。将来,OpenTelemetry 可能会像 Kubernetes 项目一样认证发行版和合作伙伴。在评估发行版时,请确保使用该发行版不会导致供应商锁定。
任何发行版的支持均来自发行版作者,而非 OpenTelemetry 作者。