2017-02-06 11 views
0

トポロジ内の各ボルトの待ち時間を測定しようとしています。パーセンタイルを計算したいので、Stormによって与えられたレイテンシ数は十分ではありません。私の現在の設定では、emitの呼び出しを含むexecuteメソッドを完了するのにかかる時間を測定することによって、ボルトの待ち時間を測定します。上記の方法では、トポロジ内の現在のボルトインスタンスと次のボルトインスタンスの間で同じエグゼキュータが共有されていても、次のボルトインスタンスを呼び出すことなくコレクタのエミットが即時に戻ります。ストームボルトの待ち時間

答えて

0

実行メソッドの始めと終わり(emitの後)にタイマーを置くと、うまくいくはずです。

+0

emitメソッドが非同期であることを意味しますか? – user3612009

+0

必ずしもそうではありません。おそらくEmitはタプルを内部キューに追加し、次のタプルは次のタプルを処理する準備ができたらいつでもキューから読み込みます。だから、あなたが次のボルトで何をするかに関わらず、常に同じ時間がかかり、それは非常に安い指示です。放射量がどれくらいかかるかを測定したい場合は、放射するだけのボルトを実装して測定してください。次に、実際に測定しているボルトからこの数値を差し引くことができます。 –

+0

'はおそらくタプルを追加します - はい、私もこれが起こっていると仮定しますが、ただ確認が必要です。 – user3612009

関連する問題