OpenCensus のサンセット

Blog posts are not updated after publication. This post is more than a year old, so its content may be outdated, and some links may be invalid. Cross-verify any information before relying on it.

2019年、OpenTracing と OpenCensus が統合され OpenTelemetry プロジェクトが設立されることを発表しました。 当初から、OpenTelemetry は OpenTracing と OpenCensus 両方の次のメジャーバージョンであると考えていました。

OpenTelemetry が C++、.NET、Go、Java、JavaScript、PHP、Python において OpenCensus との機能パリティに到達したことを発表できることを嬉しく思います。 これらの言語のほとんどでトレーシングとメトリクス 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。


  1. opencensus-python リポジトリ内の多くのプロジェクトは、引き続き推奨される本番環境向けのソリューションとして使用されています。 これらのプロジェクトは引き続きメンテナンスされます。 メンテナンスのタイムラインや移行の次のステップ、一般的なサポートに関する質問については、リポジトリのメンテナーに連絡してください。 ↩︎ ↩︎

  2. Python と JavaScript のシムパッケージは近日リリース予定です。 ↩︎

  3. これらのシムは安定版の OpenCensus 互換性仕様を実装しており、OpenTelemetry の長期サポートガイドラインに従い、少なくとも1年間サポートされます。 ↩︎