問題タブ [opentracing]

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 投票する
2 に答える
1056 参照

go - zipkintracer から traceId を取得する

私はzipkin-go-opentracingを使用しています。これは、go の zipkin 用のopentracing APIの実装です。

(理由) スパンから traceId を取得する必要があります。質問: opentracing.Span が与えられた場合、TraceId を取得するにはどうすればよいですか? 私が試したすべてのことで、ある種の型アサーション エラーが発生しました。

ありがとう、

0 投票する
4 に答える
7455 参照

trace - OpenTracing API からトレース ID を取得するにはどうすればよいですか?

#105で、davidB は次のように尋ねます。

Span id (SpanContext id) への読み取りアクセスを取得して、ログおよびエラー レポート (エンド ユーザーに...) で使用できるようにしたいと考えています。[スキップ] エラー メッセージで「トレース ID」を公開する必要があります。開発者はトレースを使用して、サポート、QA、エンドユーザーから報告されたエラーをデバッグできます。

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

go - StreamClientInterceptor を使用して RPC セッションがいつ終了するかを判断する最良の方法は何ですか?

StreamClientInterceptor関数を記述する場合、インボーカーが RPC を終了するタイミングを判断する最善の方法は何ですか? これは、単項インターセプターまたは RPC を実行するハンドラーが渡されるサーバー側では十分に簡単ですが、呼び出し元が対話するClientStreamを返すクライアント側でこれを行う最善の方法は明確ではありません。.

この使用例の 1 つは、OpenTracing のインストルメント化です。ここでの目標は、RPC の開始と終了をマークするためにスパンを開始および終了することです。

私が検討している戦略は、ストリーム インターセプターが装飾された ClientStream を返すようにすることです。この新しい ClientStream は、インターフェース メソッドHeaderCloseSendSendMsg、のいずれRecvMsgかがエラーを返した場合、またはContextがキャンセルされた場合に、RPC が完了したと見なします。さらに、このロジックを に追加しますRecvMsg

Recvほとんどの場合はうまくいきますが、私の理解では、結果が次のようになることがわかっている場合、呼び出し元は呼び出す必要はありませんio.EOF( grpc.ClientStreams と対話するときに io.EOF を取得するまで Recv を呼び出す必要はありますか? を参照)。したがって、すべての場合に機能するとは限りません。これを達成するためのより良い方法はありますか?