我如何从假冒的客户请求中获得经过的时间?

时间:2018-09-27 15:42:17

标签: java rest spring-cloud-feign feign

我正在使用Spring Feign客户。 是否有办法获取发送请求后收到响应所花费的时间? 我映射了很多请求,并希望以一种干净的方法在测试中断言在一定时间内收到响应。

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用System.nanoTime():

long startTime = System.nanoTime();

// make your request

long elapsedTime = System.nanoTime()-startTime;

答案 1 :(得分:0)

您也可以使用通用方法执行此操作。请在下面找到代码段:

   myMethod() { 
    Date startDate = new Date();
.... body 
    return timedReturn(LOGGER, new Object() {}.getClass().getEnclosingMethod().getName(), startDate.getTime(), response);
    } 


public class MY_Utilities {
public static <T> T timedReturn(final Logger LOGGER, String method, long start, T object) {
    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug(String.format("Execution of method %s took %05d ms", method, System.currentTimeMillis() - start));
    }

    return object;
}

}