【问题标题】:How can I get the elapsed time from a feign client request?如何从 feign 客户端请求中获取经过的时间?
【发布时间】:2019-03-03 14:01:58
【问题描述】:

我正在使用 Spring Feign 客户端。 有没有办法获得发送请求后收到响应所需的时间? 我有很多请求被映射,并且想要一种干净的方式在测试中断言在特定时间内收到响应。

谢谢

【问题讨论】:

    标签: java rest spring-cloud-feign feign


    【解决方案1】:

    你可以使用 System.nanoTime():

    long startTime = System.nanoTime();
    
    // make your request
    
    long elapsedTime = System.nanoTime()-startTime;
    

    【讨论】:

      【解决方案2】:

      您也可以使用通用方法来做到这一点。请在下面找到sn-p:

         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;
      }
      

      }

      【讨论】:

        猜你喜欢
        • 2021-07-03
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 2018-12-01
        • 2018-01-05
        • 1970-01-01
        • 2018-12-25
        • 2020-01-08
        相关资源
        最近更新 更多