6章トレース

前章で議論した内容を考慮すると、 テレメトリーコンテキストがオブザーバビリティを実現するための必須要件であることは明らかです。 コンテキストやプロパゲーターとともに、トレースがOpenTelemetryの最初の1.xリリースを達成するための 主要なコンポーネントになったのは驚くことではありません。 トレースは、分散トランザクション内で因果関係のある操作がどのように表現されるかを標準化します。 5章ではやや抽象的に感じられたかもしれませんが、 コンテキスト、スコープ、および伝搬の概念は、トレースに適用することでより具体化できます。 本章では、OpenTelemetry Tracing APIやSDK、設定、トレースコンテキストの伝搬、 手動計装のベストプラクティスについて詳しく見ていきます。

6.1. 分散トレースとは何か?

5章でテレメトリーコンテキストの概念を探った際、 OpenTelemetryが、スレッド間やサービス間で同じ作業単位に関連する実行範囲の値を管理・伝搬するための 標準的な方法を提供すると説明しました。 これまで見てきたように、テレメトリーの一部(つまり、ビジネスメッセージの一部としてコンポーネント間で渡されるデータ)は、 システムドメインにカスタマイズされ、通常はバゲッジで表現されます。 一方で、分散システム全体に共通する情報も存在します。 もし、各チームや組織がContext APIやPropagator APIを直接使用して分散トランザクションや その操作・属性を表現しようとすれば、混乱を招くことが容易に想像できます。 そのような状況では、コラボレーションが促進されず、 オブザーバビリティツールがこのデータを扱ってデバッグを支援するための分析や可視化を提供することはほぼ不可能でしょう。 ...