0

Jetty トランザクションをカウントし、リクエストの処理にかかった時間を測定し、監視システムの JMX を使用してレスポンスを取得する必要があります。

Jetty 8.1.7 を使用していますが、これを行う適切な方法が見つからないようです。私は基本的に、いつリクエストが送信されたか (Jetty Async アプローチにより、これはスレッド A からトリガーされます)、および応答がいつ完了したか (oncompleteResponse が別のスレッドで行われるため) を特定する必要があります。

私は通常、同様の機能が必要な他の領域でそのような状態に ThreadLocal を使用しますが、明らかにこれはここでは機能しません。

克服する方法はありますか?

4

1 に答える 1

1

jetty の非同期リクエストを使用するには、基本的に ContentExchange をサブクラス化し、そのメソッドをオーバーライドする必要があります。そのため、リクエストが送信されたときのタイムスタンプを含むフィールドを追加し、後で onResponseComplete() メソッドで使用して処理時間を測定できます。リクエストが作成された時刻ではなく、実際にサーバーに送信された時刻を知る必要がある場合は、 onRequestCommitted() および onRequestComplete() メソッドをオーバーライドできます。

于 2013-02-22T10:59:06.677 に答える