クライアントライブラリの機能
Jaeger クライアントは廃止されました。こちらのお知らせを参照してください。
以下の表は、既存のクライアントライブラリの機能マトリックスを示しています。?
でマークされたセルは、特定のクライアントが特定の機能をサポートしているかどうか不明であり、追加の調査とドキュメントの更新が必要であることを示します。
この表は、data/clients.yaml から自動生成されています。
Jaegerバックエンドにスパンを報告するためのデータ形式とトランスポート | ||||||
---|---|---|---|---|---|---|
機能 | Go | Java | Node.js | Python | C++ | C# |
jaeger.thrift 、コンパクト プロトコル、UDP経由で報告 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
jaeger.thrift 、バイナリ プロトコル、UDP経由で報告 | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
jaeger.thrift 、バイナリ プロトコル、TCP(HTTP)経由で報告 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
Zipkin Thrift、バイナリプロトコル、TCP(HTTP)経由で報告 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
プロセス間伝播ワイヤフォーマット(ヘッダー) | ||||||
機能 | Go | Java | Node.js | Python | C++ | C# |
Uberのオリジナルヘッダー | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ZipkinのB3ヘッダー | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
W3Cトレースコンテキストヘッダー | 近日公開 | ✅ | 近日公開 | 近日公開 | 近日公開 | 近日公開 |
インバウンドのjaeger-debug-id ヘッダーをサポート | トレースがない場合 | トレースがない場合 | ❔ | ✅ | ❔ | トレースがない場合 |
jaeger-baggage ヘッダーからバゲージを受け入れる | トレースがない場合 | ❌ | ❔ | ✅ | ❔ | ❌ |
128ビットのトレースIDのサポート | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
メトリクス | ||||||
機能 | Go | Java | Node.js | Python | C++ | C# |
標準的なトレーサーメトリクス(開始、終了、レポートされたスパンの数など)をサポート | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ |
標準的なRPCメトリクスをサポート | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
Prometheus 形式のメトリクス | ✅ | ✅ | ❌ | ✅ | ❔ | ❔ |
トレーサーの設定 | ||||||
機能 | Go | Java | Node.js | Python | C++ | C# |
宣言的なトレーサー設定のサポート | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ |
トレーサータグ(プロセス・タグ)の設定を許可 | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ |
サンプラーのリモート設定を許可 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
リモート設定可能なエンドポイントごとのサンプラー | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
リモート設定可能なバゲージ制限 | ✅ | 近日公開 | 近日公開 | 近日公開 | ❌ | 近日公開 |
環境変数によるトレーサー設定 | ||||||
機能 | Go | Java | Node.js | Python | C++ | C# |
JAEGER_SERVICE_NAME は、発行されるスパンに関連付けられるサービス名を定義します。 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
JAEGER_TAGS は、hostname=foobar,my.app.version=1.2.3 のように、カンマ区切りの静的タグ(トレーサータグ)のリストを定義します。これらのタグは、各スパンの Process タグとして追加されます。 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
JAEGER_DISABLED (非推奨) を true に設定すると、設定は no-op トレーサーを返すように指示されます。no-op トレーサーでは、トレース/スパン IDもバゲージも伝播されません。トレーサーを完全に無効にする代わりに、オーバーヘッドを最小限に抑えつつ伝播を継続させるために、0 パラメーターを持つ const サンプラーを使用してください。 | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
JAEGER_AGENT_HOST は、UDP/Thrift 経由でスパンを報告するためのホスト名を定義します。パケット損失を避けるため、エージェントはアプリケーションと同じマシン上で実行される必要があります。この変数は、ホスト上に複数のネットワーク名前空間がある場合に便利です。 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
JAEGER_AGENT_PORT は、UDP/Thrift 経由でスパンを報告するためのポートを定義します。 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
JAEGER_ENDPOINT は、HTTP/Thrift 経由でスパンを報告するための URL を定義します。この設定により、スパンがコレクターに直接送信されるデプロイメントモードが可能になります。 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
JAEGER_AUTH_TOKEN は、HTTP 経由で報告する際に使用するオプションの認証トークンを定義します。 | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ |
JAEGER_USER は、HTTP 経由で報告する際に基本認証に使用できます。 | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
JAEGER_PASSWORD は、HTTP 経由で報告する際に基本認証に使用できます。 | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
JAEGER_REPORTER_LOG_SPANS は、Reporter に、完了したスパン ID をログに記録するように指示します。このオプションを有効にするには、レポーターにロガーを提供する必要がある場合があります。 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
JAEGER_REPORTER_MAX_QUEUE_SIZE は、スパンが送信される前に保持するために使用されるインメモリバッファの最大サイズを定義します。 | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
JAEGER_REPORTER_FLUSH_INTERVAL は、レポートがスパンバッチをフラッシュする頻度を定義します。バッチサイズが UDP パケットの最大サイズ(〜64Kb)に達した場合も、レポーターはバッチをフラッシュできます。 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
JAEGER_SAMPLER_TYPE は、使用するサンプラーのタイプを定義します。たとえば、probabilistic または const (サンプリングを参照)など。 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
JAEGER_SAMPLER_PARAM は、サンプラーに構成値を提供します。たとえば、probability=0.001 (サンプリングを参照)など。 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
JAEGER_SAMPLER_MANAGER_HOST_PORT は、サンプリング戦略、バゲージ制限、スロットリング構成などのクライアント構成を処理する HTTP サーバーのアドレスを定義します。この変数名は、サーバーがサンプリング戦略のみを提供していた時代の古い誤称です。現時点では、jaeger-agent のみがこの REST API を実装しています。 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
JAEGER_SAMPLER_REFRESH_INTERVAL は、サンプラーが構成サーバーにサンプリング戦略の更新をポーリングする頻度を定義します。 | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
JAEGER_SAMPLER_MAX_OPERATIONS は、アダプティブサンプラーが追跡する個別の操作名の数を制限し、メモリの無制限な使用を避けるように指示します。 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
JAEGER_PROPAGATION は、トレーサーが使用する伝播形式を定義します。サポートされている値は、jaeger (ここで定義)、b3 (ここ で定義)、および w3c (ここ で定義)です。 | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ |
JAEGER_TRACEID_128BIT が true の場合、トレーサーはデフォルトの 64 ビットではなく、128 ビットのトレース ID を生成するように指示されます。将来的には、128 ビットがデフォルトになります。 | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ |
JAEGER_RPC_METRICS が true の場合、トレースインストルメンテーションから追加の RPC メトリクスの生成が有効になります。これは、Go クライアントの実験的な機能です。https://github.com/opentracing-contrib/java-metrics も参照してください。 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |