問題タブ [distributed-tracing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
674 参照

istio - Istio と Sleuth でサンプリングされないトレース

Spring Boot 2 Microservices を Spring Cloud Sleuth と依存関係管理および Spring Cloud バージョン Greenwich.SR2 で使用しています。私のサービスは Istio サービス メッシュで実行されています。istio のサンプル ポリシーは 100 に設定されています (pilot.traceSampling: 100.0)。

メッシュで分散トレースを使用するには、アプリケーションは X-B3-TraceId や X-B3-SpanID などの HTTP ヘッダーを転送する必要があります。これは、Sleuth を追加するだけで実現できます。すべての HTTP リクエストが正しくトレースされています。Istio (Envoy) のサイドカー プロキシは、トレースを Jaeger バックエンドに送信します。

Sleuth は Spring WebSocket でも動作するはずです。しかし、受信した websocket リクエストはトレースまたはスパン ID を取得しません。ログは [-,,,] のようになります。1. 質問: Sleuth が websocket で機能しないのはなぜですか? 私のWS-Config:

クライアントは Websocket 経由でサービスに接続できます。WS メッセージを処理するために WebSocketHandler インターフェイスを実装しています。

WS 接続が Sleuth によってログに記録されるようにするために、接続を処理するメソッドに @NewSpan で注釈を付けます。

これにより、Sleuth は trace と spanId を作成し、このメソッドの restTemplate を介して呼び出される他のサービスにも伝達します。ただし、HTTP 呼び出しは Jaeger に送信されません。x-B3-Sampled ヘッダーは、sidcar によって常に 0 に設定されます。2 質問: これらのトレースがトレース バックエンドに送信されないのはなぜですか?

前もって感謝します!

0 投票する
1 に答える
1078 参照

go - Go GRPC オープントレースの子スパン

Jaeger を使用して、マイクロ サービスにオープントレースを追加する作業を行っています。2 つの GRPC サーバーと 1 つの REST サーバーがあります。

ここに画像の説明を入力

GRPC サーバーとすべての rest-grpc 要求の両方で完全に問題のないデフォルトの opentracing は、1 つの親スパンで追跡されます。Java GRPC を使用すると、カスタムの子スパンを追加でき、Jaeger UI に完全な階層で表示されます。しかし、Go Lang で同じカスタムの子を追加しようとすると、GRPC サービスを呼び出した親の Rest サービス スパンに追加されません。以下はgolangコードです

GRPC ライブラリによって既に処理されているため、http ヘッダーの抽出全体を実行したくありません。Java GRPC を使用しても、抽出は行いません。opentracing で使用するスコープ マネージャーは、go lang opentracing では使用できません。

前もって感謝します!!!

乾杯。

0 投票する
1 に答える
80 参照

c++ - トレーサーが jaegerclientcpp の jaeger バックエンド サーバーに完全に接続されているかどうかを知る方法はありますか?

変数を jaeger バックエンド (サーバーを使用していjaeger-client-cppます)に接続すると、接続が成功すると、接続が成功したことを示すメッセージが表示されますが、接続が失敗すると、サーバーとの接続が失敗したことを示すメッセージが表示されます。Tracerjaeger-all-in-oneLOG INFOLOG ERROR

サーバーとの接続のステータスについてプログラムでこれを確認する方法はありますかTracer

OS-ubuntu 18.04 jaeger-client-cpp-v0.5.0