RestTemplate.getForObject
応答の解析に必要な時間を使わずに、呼び出しのHTTPGET要求の時間を測定したいと思います。つまり、リモートHTTP呼び出しに必要な時間だけです。私はすでに設定を試みましたClientHttpRequestInterceptor
が、時間が間違っているように見えるので、これが正しい方法だとは思いません:
public class PerfRequestSyncInterceptor implements ClientHttpRequestInterceptor {
private Logger log = Logger.getLogger(this.getClass());
@Override
public ClientHttpResponse intercept(HttpRequest request, byte[] body,
ClientHttpRequestExecution execution) throws IOException {
long start = System.nanoTime();
ClientHttpResponse resp = execution.execute(request, body);
log.debug("remote request time: "
+ ((System.nanoTime() - start) * Math.pow(10, -9)));
return resp;
}
}
電話:
RestTemplate rest = new RestTemplate();
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>();
interceptors.add(new PerfRequestSyncInterceptor());
rest.setInterceptors(interceptors);
Response inob = rest.getForObject(xmlURL, Response.class);
RestTemplate HTTPリクエストの時間を測定するにはどうすればよいですか?