淘汰 OpenCensus
博客文章在发布后不会更新。这篇文章已经发布一年多了,其内容可能已过时,部分链接可能无效。在依赖任何信息之前,请务必核实。
2019 年,我们宣布 OpenTracing 和 OpenCensus 将合并,成立 OpenTelemetry 项目。从一开始,我们就将 OpenTelemetry 视为 OpenTracing 和 OpenCensus 的下一个主要版本。
我们很高兴地宣布,OpenTelemetry 在 C++、.NET、Go、Java、JavaScript、PHP 和 Python 中已达到与 OpenCensus 相媲美的功能。大多数这些语言都提供了稳定版的 Tracing 和 Metrics SDK,Go 和 PHP 很快也将跟进。这意味着 OpenTelemetry 可以收集和导出与 OpenCensus 相同功能的遥测数据。此外,OpenTelemetry 还提供了更丰富的仪表化库和导出器生态系统,以及一个活跃的开源社区。
因此,我们将于 2023 年 7 月 31 日归档所有 OpenCensus GitHub 存储库(census-instrumentation/opencensus-python1 除外)。我们很高兴看到OpenTelemetry 的长期计划得以实现,并鼓励所有 OpenCensus 用户迁移到 OpenTelemetry。
如何迁移到 OpenTelemetry
OpenTelemetry 项目的主要目标之一是提供与 OpenCensus 的向后兼容性以及为现有用户提供迁移方案。
为了帮助简化迁移过程,我们为以下语言提供向后兼容性桥接器2
安装这些桥接器后,OpenCensus 和 OpenTelemetry 仪表化可以顺利地协同工作,所有遥测数据都将通过 OpenTelemetry 导出器导出。这使得 OpenCensus 用户可以逐步将所有仪表化从 OpenCensus 迁移到 OpenTelemetry,并最终从应用程序中移除 OpenCensus 库3。
虽然 OpenTelemetry 从未打算成为 OpenCensus 的严格超集,但大多数 API 和数据模型都是兼容的。迁移应被视为“大版本升级”,您可能会注意到遥测数据的一些变化。
有关预期内容和建议的迁移工作流程的更多详细信息,请参阅OpenCensus 兼容性规范。
2023 年 7 月 31 日之后将发生什么
2023 年 7 月 31 日之后,OpenCensus 项目将不再维护。这意味着项目将不会添加新功能,并且发现的任何安全漏洞都不会得到修补。
但是,OpenCensus 存储库将继续在 GitHub 上存档。这意味着用户仍然可以下载 OpenCensus 代码并在其项目中_使用_。OpenCensus 的现有发行版将继续在 NPM 和 PyPI 等公共软件包存储库中提供。我们鼓励所有 OpenCensus 用户立即开始规划项目的迁移到 OpenTelemetry。
一个例外是census-instrumentation/opencensus-python存储库1。
opencensus-python存储库中的许多项目仍被用作推荐的生产解决方案。这些项目将继续得到维护。有关维护时间表、迁移后续步骤和一般支持问题的详细信息,请联系存储库维护者。 ↩︎ ↩︎Python 和 JavaScript 适配器包即将发布。 ↩︎
这些适配器实现了稳定的OpenCensus 兼容性规范,并将根据OpenTelemetry 的长期支持指南获得至少一年的支持。 ↩︎