Skip to content
Latchkey

OpenTelemetry vs Jaeger: 標準 vs トレーシングバックエンド

OpenTelemetry はテレメトリーを生成しエクスポートするためのベンダー中立な標準で、Jaeger はトレースを保存し可視化するバックエンドと UI です。

OpenTelemetry(OTel)は CNCF の標準で - SDK、API、そして collector を含み - アプリを計装し、トレース、メトリクス、ログを任意のバックエンドへエクスポートします。Jaeger はストレージとクエリ UI を備えた分散トレーシングバックエンドです。両者は補完的で、OTel がデータを生成し、Jaeger(をはじめとするもの)がそれを保存し表示します。

OpenTelemetryJaeger
役割計装 + エクスポート標準トレーシングバックエンド + UI
対象範囲トレース、メトリクス、ログトレース
ベンダー中立性あり(どこへでもエクスポート)一つのバックエンド
ストレージなし(エクスポート)あり
最適な用途標準化された計装トレースの閲覧とクエリ

実際のところ

これらは本当にどちらか一方という関係ではありません。アプリを OpenTelemetry で計装し、そのトレースをバックエンドへ送ります - それは Jaeger でも構いません。OTel はベンダーロックインに対して将来を守り、Jaeger はトレースを保存し探索するための成熟したオープンソースの場を提供します。Jaeger は現在 OTel の取り込みを直接サポートしているため、モダンなパターンは OTel の SDK が Jaeger(または他の)バックエンドに供給する形です。

補足

CI や build のステップも OTel でトレースできます。build は CI runner 上で実行され、より高速なマネージド runner はそれを短縮します。

結論

両者は連携します。計装とエクスポートには OpenTelemetry を使い、トレースの保存と可視化には Jaeger(または別のバックエンド)を使いましょう。OTel で標準化し、堅実なオープンソースのトレーシングバックエンドの一つとして Jaeger を選びます。

関連ガイド