synchronous を使用すると、メソッドの前後にHttpClient置くだけで、1 つのリクエストの時間を取得するのは非常に簡単です。System.currentTimeMillis()execute()
しかし、 に関して言えばHttpAsyncClient、execute()は非同期であり、タスクをキューに入れるだけです。そのため、接続の開始時刻を取得する方法がわかりません。
接続の終了時間は簡単です。クラス インスタンスSystem.currentTimeMillis()のメソッドを呼び出すだけです。OnComplete()FutureCallback<HttpResponse>
同期HttpClientと非同期の両方に 、 、のHttpAsyncClient3 つのフェーズがあります。すべてのリクエストは、実際に実行される前にキューに入れられます。を呼び出すと、リクエストが内部キューに送信された開始時刻を記録するだけなので、最終的に得られるのは + +です。バッチ リクエストをテストするためにベンチマークを実行すると、問題ありませんが、単一のリクエストをそれぞれテストするには、減算する必要があります。ConnectRequestTimeConnectTimeSocketTimelong start=System.currentTimeMillis()HttpAsyncRequestProducer.html#generateRequest()ConnectRequestTimeConnectTimeSocketTimeConnectRequestTime
だから私の本当の質問は、の時間を取得する方法ConnectRequestTimeです?