java – 测量Spring RestTemplate HTTP请求时间

前端之家收集整理的这篇文章主要介绍了java – 测量Spring RestTemplate HTTP请求时间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想测量RestTemplate.getForObject调用的HTTP GET请求的时间,而不需要解析响应所需的时间.所以只是远程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

如何衡量RestTemplate HTTP请求的时间?

最佳答案
您可以使用AOP和Spring内置的PerformanceMonitorInterceptor.您需要正确定义要拦截哪种calss的方法,然后才能进行测量.您可以配置如下:

猜你在找的Spring相关文章