作者:Tristan Sloughter (与 Daniel Dyla 和 Robert Laurin 合作。)
我们正在轰轰烈烈地开始新的一年。在过去的几个月里,三种新语言(Ruby、Javascript 和 Erlang/Elixir)发布了他们的第一个 1.0 版本,加入了现有的 C 、Go、Java、.NET、Python 和 Swift 的 GA 版本的行列。
Erlang/Elixir
如果你的应用程序使用 Erlang 或 Elixir,OpenTelemetry 现在提供了一个完整的解决方案来收集、丰富和发送分布式跟踪到各种遥测后端。这个解决方案可以作为一个整体使用,也可以集成在各种组合中使用。OpenTelemetry 由 API 和 SDK 组成,使用 OpenTelemetry 协议(OTLP)来收集、处理和导出数据。每个组件都被实现为一个独立的应用程序[1],发布到 hex.pm、opentelemetry_api(API)[2]、opentelemetry[3](SDK)和opentelemetry_exporter[4](OTLP)。许多与 Erlang 和 Elixir 库的集成,如 Phoenix 和 Ecto,也可以在 hex.pm 中的 OpenTelemetry 组织[5]和 GitHub 的contrib 仓库[6]中找到。它们都已经更新到依赖于 1.0 API,但还没有自己的 1.0 版本。
下一步是什么呢?我们计划增强文档,添加样例代码,并构建更多的集成。我们计划改进 OTLP 导出器,以支持重试、额外的 HTTP 库和 JSON。最后,但并非最不重要的是,每种语言的指标 API 和 SDK 的完整实现。
我们要感谢我们所有的项目贡献者——来自 14 个组织的 28 名开发人员,他们帮助我们达到了 1.0 的里程碑。如果你想了解更多,我们会举行每周会议[7],使用GitHub 讨论[8]问题,并在CNCF Slack[9](#otel-erlang-elixir[10])和Elixir Slack[11](#opentelemetry[12])上设有 Slack 频道。
JavaScript
JavaScript 是世界上最流行的语言之一,它的生态系统既广又深。从单体到微服务,OpenTelemetry 现在为 JavaScript 和 TypeScript 开发者提供了收集详细遥测数据的工具,通过分布式跟踪更好地理解他们的应用程序、依赖关系和分布式系统。
OpenTelemetry JavaScript 库以API[13]、SDK[14]和丰富的插件集的形式发布,用于收集和导出跟踪数据。在SDK 仓库[15]中可以找到官方的OTLP 导出器[16]和一小部分官方工具。contrib 仓库[17]提供了一个丰富的工具插件、资源检测器等生态系统。更广泛的插件社区可以在OpenTelemetry 注册表[18]中找到。
在追踪稳定性和 OpenTelemetry JavaScript 1.0 的道路上,有来自许多不同组织的 122 名开发人员的贡献。
我们的下一个优先事项包括稳定 API 和 SDK 的指标,继续添加到已经丰富的工具和其他插件生态系统中,并改进我们的文档和新的用户体验。如果你想了解更多或参与其中,你可以加入每周会议[19],创建GitHub 讨论[20],或加入我们在 CNCF slack 的#otel-js 频道[21]。
Ruby
虽然 OpenTelemetry Ruby 最近才宣布其 1.0 版本,但贡献者社区已经在行业中一些最大的 Ruby组织[22]的生产环境中对其进行了一年多的强化。
OpenTelemetry Ruby 以API[23]和SDK[24]的形式发布,仓库托管了一组自动检测库,用于 Ruby 生态系统中一些最流行的 gems。你可以在这里[25]找到当前可用的工具库的详尽列表。我们目前有导出器支持OTLP[26](protobuf over http)、Jaeger 和 Zipkin。
我们正将注意力转移到指标 API 和 SDK 实现上。随着指标标准受到更多关注,我们将把社区工具库分割成contrib 仓库[27],这样我们就可以通过社区贡献和请求继续扩展我们的自动工具库集合。
OpenTelemetry Ruby SIG 有幸拥有一个温暖和受欢迎的社区。我们一直在寻找新的贡献者来参与任何事情,从代码贡献,文档,甚至只是帮助其他用户使用 Otel Ruby。参与我们的每周 SIG 会议[28]或在CNCF slack[29](#otel-ruby[30])。
我们一直在寻找新的贡献者,并且有许多你可以加入的SIG[31](特殊兴趣小组)来帮助推动可观察性的未来。可以从编写代码、编写规范[32]、创建示例代码、编写技术文档到帮助新用户。有关所有 OpenTelemetry 项目的更多信息,请参见网站[33]和Github 组织[34]。
参考资料
[1]应用程序: https://www.erlang.org/doc/design_principles/applications.html
[2]opentelemetry_api(API): https://hex.pm/packages/opentelemetry_api
[3]opentelemetry: https://hex.pm/packages/opentelemetry
[4]opentelemetry_exporter: https://hex.pm/packages/opentelemetry_exporter
[5]Telemetry 组织: https://hex.pm/orgs/opentelemetry
[6]contrib 仓库: https://github.com/open-telemetry/opentelemetry-erlang-contrib
[7]每周会议: https://github.com/open-telemetry/community#special-interest-groups
[8]GitHub 讨论: https://github.com/open-telemetry/opentelemetry-erlang/discussions
[9]CNCF Slack: https://slack.cncf.io/
[10]#otel-erlang-elixir: https://cloud-native.slack.com/archives/C01N75YMZCN
[11]Elixir Slack: https://elixir-slackin.herokuapp.com/
[12]#opentelemetry: https://elixir-lang.slack.com/archives/CA4CNK38B
[13]API: https://github.com/open-telemetry/opentelemetry-js-api
[14]SDK: https://github.com/open-telemetry/opentelemetry-js
[15]SDK 仓库: https://github.com/open-telemetry/opentelemetry-js
[16]OTLP 导出器: https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/exporter-trace-otlp-proto
[17]contrib 仓库: https://github.com/open-telemetry/opentelemetry-js-contrib
[18]OpenTelemetry 注册表: https://opentelemetry.io/registry/?language=js
[19]每周会议: https://github.com/open-telemetry/community#special-interest-groups
[20]GitHub 讨论: https://github.com/open-telemetry/opentelemetry-js/discussions
[21]#otel-js 频道: https://cloud-native.slack.com/archives/C01NL1GRPQR
[22]组织: https://opentelemetry.io/docs/instrumentation/ruby/#whos-using-opentelemetry-ruby
[23]API: https://rubygems.org/gems/opentelemetry-api
[24]SDK: https://rubygems.org/gems/opentelemetry-sdk
[25]这里: https://opentelemetry.io/registry/?s=&component=instrumentation&language=ruby
[26]OTLP: https://rubygems.org/gems/opentelemetry-exporter-otlp
[27]contrib 仓库: https://github.com/open-telemetry/opentelemetry-ruby-contrib
[28]每周 SIG 会议: https://github.com/open-telemetry/community#special-interest-groups
[29]CNCF slack: https://cloud-native.slack.com/join/shared_invite/zt-11yzivnzq-hs12vUAYFZmnqE3r7ILz9A#/shared-invite/email
[30]#otel-ruby: https://cloud-native.slack.com/archives/C01NWKKMKMY
[31]SIG: https://github.com/open-telemetry/community#special-interest-groups
[32]规范: https://github.com/open-telemetry/opentelemetry-specification
[33]网站: https://opentelemetry.io/
[34]Github 组织: https://github.com/open-telemetry/