ネイティブ OTLP による Jaeger のサポート

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.

2022年5月、Jaeger プロジェクトは OpenTelemetry Protocol のネイティブサポートを発表しました(OTLP)。 これは多くの言語にわたる Jaeger クライアントライブラリの十分な非推奨化の移行期間に続くものでした。 これらの変更により、OpenTelemetry ユーザーは業界標準の OTLP を使用して Jaeger にトレースを送信できるようになり、Jaeger クライアントライブラリのリポジトリはついにアーカイブされました。

私たちは近い将来、OpenTelemetry から Jaeger エクスポーターを非推奨化する予定であり、非推奨化の期間を決定するために皆さんのフィードバックを求めています。 フィードバックを提供する最善の方法は、4問のアンケートに回答するか、既存のドラフトプルリクエストにコメントすることです。

OpenTelemetry のサポート

この相互運用性は、Jaeger ユーザーにとっても OpenTelemetry ユーザーにとっても素晴らしい成果です。 しかし、まだ完了ではありません。 OpenTelemetry の仕様では、依然として各言語で Jaeger クライアントエクスポーターのサポートが求められています。

これは Jaeger ユーザーと OpenTelemetry メンテナーの両方にとって課題となっています。

  1. 選択肢の混乱

    現在、ユーザーはエクスポーター(Jaeger または OTLP)の選択を迫られており、これが混乱の原因になりえます。 Jaeger にテレメトリーをエクスポートする際、ユーザーは名前が一致するという理由だけで Jaeger エクスポーターを選びがちです(Jaeger が現在は OTLP の使用を積極的に推奨しているにもかかわらず)。

    この混乱を招きうる選択肢をなくすことで、ユーザーエクスペリエンスを改善し、単一の相互運用可能なプロトコルへの標準化を進めることができます。 すべてが「そのまま動く」のは素晴らしいことです!

  2. メンテナンスと重複

    Jaeger クライアントライブラリはアーカイブされたため、今後は更新(セキュリティパッチを含む)が行われません。 Jaeger クライアントエクスポーターを適切にサポートし続けるためには、OpenTelemetry の開発者が、以前は Jaeger クライアントから利用していた機能の一部を再実装する必要があります。

    Jaeger が OTLP をサポートするようになった今、これは後退のように感じられます。 メンテナンスの負担が増加する一方で、得られるメリットはほとんどありません。

ユーザーへの影響

この提案は、Jaeger へのネイティブ OTLP 使用を推奨し、以下のエクスポーターを OpenTelemetry から非推奨化するものです。

  • Jaeger Thrift over HTTP
  • Jaeger protobuf via gRPC
  • Jaeger Thrift over UDP

アプリケーションの設定変更に加えて、アーキテクチャ上の考慮事項が生じる可能性があります。 HTTP と gRPC は比較的容易に置き換えられますが、ポート 4317 と 4318 がまだアクセス可能でない場合は公開が必要になるかもしれません。

Thrift over UDP は Jaeger エージェントの使用を前提としています。 このデプロイ構成のユーザーは、やや複雑な変更が必要になります。 通常は以下のいずれかを行います。

  1. 直接取り込み。 アプリケーションは Thrift+UDP の使用から、jaeger-collector インスタンスへ直接 OTLP トレースを送信する方式に変更します。 これはサンプリングにも影響する可能性があります。
  2. Jaeger エージェントをサイドカーの OpenTelemetry Collector インスタンスに置き換えます。 これはサンプリングに影響する可能性があり、インフラストラクチャのデプロイコードの変更が必要です。

非推奨化の意向 - フィードバックをお寄せください!

ユーザーと OpenTelemetry・Jaeger 間の相互運用性をより適切にサポートするため、OpenTelemetry における Jaeger クライアントエクスポーターのサポートを非推奨化し、最終的に削除する予定です。

フィードバックをお寄せください! この変更の影響を受ける可能性のあるユーザーからの声をお待ちしています。 データに基づいた意思決定をより適切に行うため、4問の短いアンケートを用意しました。

皆さんの意見は、削除前の非推奨化期間の長さを決定するのに役立ちます。

この非推奨化をサポートするためのドラフト PR が仕様リポジトリに作成されています。 フィードバックを提供したい方は、上記のリンクにアクセスしてコメントしてください。 皆さんの声をお待ちしています。