分布

发行版(请勿与分支混淆)是 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 作者。


最后修改于 2025 年 4 月 11 日:在标题中添加缺失的单词(#6679)(55f9c9d0)