2017-01-24 4 views
0

Springbootアプリ。ジップスキンブレイブv4 - リクエストからspanを伝播

私はBrave v4を使用していますが、今後は非推奨のためには勇敢なコアモジュールを使用しないようにしています。 Brave v3では、スレッド内に保持され、Braveクラスで処理されているため、現在のスパンを渡すのが簡単でした。

私はasync-http-clientクライアントを使用しています。ヘッダーとの間でやりとりし、スパンの開始と送信を行う要求フィルターと応答フィルターを作成しました。これはすべて期待通りに機能します。 async-http-clientプールは、起動時にリスナーが接続された状態で接続されています。リスナーはTracerImplを受け取ります。これは、Tracerクラスのラッパーであるため、リスナーが送信などを行うことができます私の問題は、コントローラにリクエストが来たときに、リクエストからスパンを抽出し、async-http-clientを使用して別のリクエストを作成したい場合です。入って来て。 私は今私のコントローラでasync-http-clientオブジェクトに持っているSpanオブジェクトをどのように取得すべきか分かりません。 アイデアや助けをいただければ幸いです。

ありがとうございました

+0

私は、async-http-client要求がいくつかのレベルの深さになる可能性があり、層を通ってスパンオブジェクトを渡さない方が望ましいはずです。 – TimS

答えて

0

現時点では、「スレッドバインダー」APIの代わりはありません。これから数ヶ月以内になるでしょう。これは実際に既存の計装を改修するために必要です。

これまでは、TracerAdapter経由でスレッドバインダーを再利用するか、別のインプロセス伝播ライブラリを使用することができます。以下のリンクには、動作例が含まれていますhttps://github.com/openzipkin/brave/tree/master/brave#upgrading-from-brave-3