OpenTelemetryの用語一覧

基本概念
-
テレメトリ (Telemetry)
システムやアプリケーションの動作状態を表すデータ全般のことです。具体的には、ログ、メトリクス、トレース、バゲッジなどが含まれ、システムの健康状態やパフォーマンスの把握に利用されます。 -
シグナル (Signal)
OpenTelemetry では、テレメトリの「種類」を指す用語です。代表的なシグナルとして、トレース、メトリクス、ログ、(場合によっては)バゲッジなどがあり、それぞれが独自のライフサイクルや安定性レベルを持ちます。 -
セマンティック規約 (Semantic Conventions)
テレメトリデータの属性名や値、命名ルールなどの標準仕様です。これにより、ベンダーや言語を超えて一貫性のあるデータが生成され、相関付けや分析が容易になります。
トレース関連
-
トレース (Trace)
分散システム内でのリクエストの全体的な処理経路を表します。トレースは複数の スパン から構成され、システム間の呼び出しの流れや相互依存性を把握するために利用されます。 -
スパン (Span)
トレース内の単一の操作やタスクを表す最小単位です。スパンは開始時刻、終了時刻、操作名、属性、エラー情報などを持ち、親子関係(ネスト構造)を形成してリクエストの流れを詳細に記録します. -
スパンリンク (Span Link)
異なるトレース間、または同一トレース内で因果関係のあるスパン同士を結び付けるためのリンクです。これにより、非同期処理やバッチ処理などの複雑な関係性も把握しやすくなります。 -
トレーサー (Tracer)
アプリケーションコード内でスパンを生成・管理するためのコンポーネントです。OpenTelemetry API を通じて取得し、どの「スコープ」(例:ライブラリ単位)でトレースを計装するかを識別するための名前やバージョン情報を持ちます。
メトリクス・ログ関連
-
メトリクス (Metrics)
サービスやシステムの状態を数値化した時系列データです。カウンター、ゲージ、ヒストグラムなどのタイプがあり、システムのパフォーマンスや利用状況の監視、アラート設定などに活用されます。 -
ログ (Logs)
システムの各イベントやエラー、操作などを記録したテキスト情報です。構造化ログとして記録することが推奨され、トラブルシューティングや詳細な解析のための重要な情報源となります。
計装(Instrumentation)関連
-
計装 (Instrumentation)
アプリケーションにテレメトリデータを生成するコードやライブラリを組み込むプロセスのことです。計装には、手動でコードに組み込む「手動計装」と、エンドユーザーのコード変更なしに自動で計装する「自動計装(ゼロコード計装)」があります。 -
自動計装 (Automatic Instrumentation)
エンドユーザーがアプリケーションコードを直接変更することなく、テレメトリデータの収集が可能になる手法です。言語や環境に応じて、バイトコードの操作やフック、モンキーパッチなどの技術が利用されます。 -
計装ライブラリ / 計装済みライブラリ
OpenTelemetry を利用してテレメトリを収集するためのライブラリです。場合によっては、既に組み込まれている(計装済み)ものと、後付けで計装を提供する専用のライブラリ(計装ライブラリ)に分かれます。
Collector、Exporter、Receiver など
-
OpenTelemetry Collector (OTelCol)
複数のサービスから送信されたテレメトリデータを受信し、処理(集約、フィルタリングなど)した上で、外部のバックエンド(例: Jaeger、Prometheus など)に転送するためのベンダー非依存のプロセスです。 -
エクスポーター (Exporter)
収集されたテレメトリデータを特定のバックエンドや分析ツールに送信するためのコンポーネントです。OTLP(OpenTelemetry Protocol)をはじめ、Prometheus や Zipkin、Datadog など向けのエクスポーターが存在します。 -
レシーバー (Receiver)
Collector やその他の集中処理コンポーネントにおいて、各種プロトコル(HTTP、gRPC など)を介してテレメトリデータを受信する部分です。 -
プロセッサ (Processor)
レシーバーで受信したデータを加工・集約・フィルタリングするための中間処理コンポーネントです。Collector 内でエクスポーターにデータを渡す前に使用されます。
その他の用語
-
コンテキスト伝搬 (Context Propagation)
分散トレーシングにおいて、リクエストの流れ(トレース ID やスパン ID など)を、サービス間で適切に伝搬させる仕組みです。これにより、個々のリクエストがどのように処理されたかを追跡できます。 -
リソース (Resource)
テレメトリデータが生成される対象(例:サービス、ホスト、コンテナなど)の属性情報をまとめたものです。サービス名、ホスト名、環境などが含まれ、後でデータを相関付ける際に利用されます。 -
バゲッジ (Baggage)
トレースやリクエストに関連付けられる追加情報で、複数のサービス間で共有される属性情報です。コンテキスト内に含まれて、後続の処理でも参照されることがあります。 -
OTLP (OpenTelemetry Protocol)
OpenTelemetry が定義するテレメトリデータ送信用の標準プロトコルです。効率的なデータ転送と相互運用性を実現するために設計されています。 -
SDK (Software Development Kit)
OpenTelemetry の API を実装したライブラリ群で、テレメトリデータの生成やエクスポートなど、実際の機能を担います。各プログラミング言語向けに提供されます。 -
API (Application Programming Interface)
アプリケーションがテレメトリデータを生成するために利用する標準的なインターフェースです。各言語に合わせた API が提供され、開発者はこれを通じて計装を行います。 -
サンプリング (Sampling)
大量に発生するテレメトリデータの中から、代表的な一部のみを選択して送信することで、データ量や通信コストを制御する仕組みです。 -
zPages
アプリケーション内部のテレメトリ情報(例:トレース、メトリクス)をリアルタイムで表示するためのデバッグ用 Web UI の仕組みです。