2017-04-27 4 views
1

私はいくつかのキーチェックポイントで私の非同期アプリケーションをトレースしたいと思います。 私が使用できる一般的なフレームワークはありますか?任意のJava非同期トレースフレームワーク?

たとえば、vert.xまたは他のjava非同期フレームワークを使用することを選択できます。 リクエスト/応答のサイクルごとに、これらのポイントが異なるスレッドで発生する可能性がある間に何らかのログを記録するチェックポイントを作成します。

私は、何が起こっているかを見るための1つのリクエストの集約ビューを見たいのですが。

分散型のケースをサポートする方が良いでしょうが、単一のjvmは良いです。

ありがとうございます!

答えて

1

あなたが探しているのはOpenTracingです。これは、ベンダーにとらわれない方法で分散トレース機能を使用できるようにするAPIです。

具体的なケースでは、OpenTracingではまだ非同期のケースではそうすることができない(信頼できる)方法がないので、自分自身でコンテキスト伝播を処理する必要があります。他のケース(JAX-RS、サーブレット、Springブートなど)では、ネイティブフレームワークの統合やJavaエージェントのルールを使用するのが安全です。

Vert.xの場合、injectのスパンコンテキストをVert.x 'メッセージに、そしてextractこのコンテキストを後で作成する必要があります。

OpenTracing + Vert.x on the Hawkular APM example directoryという例がありますが、これは役立つかもしれません。しかし、私たち(Hawkular APMチーム)がOpenTracingバックエンドのためにJaegerに加わることに決めたので、あなたが前進することを決定したら、別のバックエンドを使いたいかもしれないことに注意してください。

関連する問題