0

私は10のデーモンスレッドを持つJavaアプリケーションを持っていると言います。スレッドがdb接続を待っているときに表示されるレイテンシを測定する方法は?

私は最大3つの接続で接続プール(たとえばc3p0)を持っていると言います。

各スレッドはデータベースで作業しています。 1つのスレッドがBLOCKED状態の接続を待っているときに(本当に起こる)起こる可能性があります。

そして、それぞれが接続を待っているBLOCKED状態にあるときに、スレッドの総待ち時間を測定する必要があります。

これを行うにはどうすればよいですか?

答えて

0

独自の実装でスレッドを拡張し、ある種のキャッシュに "system.currentTimeMilis"を保存するようにメソッド "notify"をオーバーライドする - スレッドごとにnotifyTimesを処理するためにmiliseconds引数を使用してメソッドを呼び出すことができます。 その後、拡張スレッドでrun/startメソッドを上書きして、currentTimeMilisを再度取得します。 waitメソッドのcurrentTimeも取得します(オーバーライドでsuperメソッドを呼び出すことをもう一度やめてください)。 これら3種類のスレッドで遊ぶと、ベンチマークを行うことができます。

関連する問題