Skip to content

一行代码统计方法耗时

什么是Cool Request

Cool Request是一款基于 IntelliJ IDEA 的插件,旨在简化 Spring MVC(Boot) 项目中 API调试调用,提供了强大的参数推测能力、方法耗时追踪、运行时反射调用等能力

特色功能

统计方法耗时

开启耗时追踪

Cool Request默认关闭方法耗时追踪,如果开启后,会影响第一次发起API时的速度,如果不需要耗时追踪,可点击关闭
20251206233434ae5b382ae.png

发起追踪

当正常发起HTTP请求时,Cool Request将分析一次目标方法,根据设置的最大深度,尽可能多的追踪方法,这需要花费一些时间,且视所设置最大深度为定。

自动分析时,如果遇到了对interface形式的调用,则无法分析impl实现的方法,不会统计该方法,解决办法是改用注入impl的类,而不是service,或者使用添加/取消自定义方法手动添加impl方法。

20251206233434b217947be.png

添加/取消自定义方法

如果自动分析无法满足需求,可在任意方法体内右击,选择Cool Request -> Add/Cancel Method To Trace,添加/取消目标方法。

20251206233434ae6a3fede.png

失效情况

有些原因可能会导致跟踪失效

  1. 当Controller内部抛出异常时,Trace将失效,请确保链路中无异常。
  2. 非SpringBoot项目
  3. 使用了jrebel启动(理论支持,但如果失效,可正常启动重新尝试)

调用任意方法

Cool Request支持在SpringBoot运行时调用任意容器内实例的方法、同时也包括静态方法。

使用教程

在想要调用的方法体内右击,选择CoolRequest->Call this Method

202512062334341787f988b.png

接着点击运行按钮即可。

2025120623343417527ff20.png

当然,Cool Request支持大量常见的参数传递

2025120623343414fc423f1.png

20251206233434ab7cc80d5.png

自定义函数

Cool Request拥有最强大得函数支持系统,当HTTP参数想要使用动态参数时,可根据自己需求,编写自定义函数。

函数可使用在任意HTTP参数中,包括请求头、URL参数、Path变量、请求体中。

2025120623343476d1198c2.png

例如想要增加一个自定义函数,可编写以下代码。

java
public String custom(){
    return "custom";
}

在任意HTTP参数值中,通过来引用此函数。

202512062334346cc80cfc5.png

关闭函数转换

如果想关闭函数转换,可以设置中禁用

20251206233434379683d88.png

发起反射请求

什么反射请求

发射请求可绕过系统中的拦截器,在开发时,可直接使请求进入到Controller方法。

普通HTTP请求的流程如下:

  1. 构造HTTP参数
  2. 发起HTTP请求
  3. 进入Web容器
  4. 进入过滤器
  5. 进入拦截器
  6. 进入Controller

而反射请求可以跳过其中的第3、第4步骤,而第5步是可选的,反射的流程如下:

  1. 构造HTTP参数
  2. 发起HTTP请求
  3. 进入拦截器(可选择是否应用拦截器)
  4. 进入Controller

进入参数配置界面,在左侧下拉框选中如下所示:

202512062334343b7b41f20.png

点击右侧 20251206233434a6366191e.svg 按钮即可发起反射请求。

Spring网关

Cool Request在网关程序启动后,会自动提取网关配置的路径,并添加到环境变量中,用户只需要根据实际修改配置即可。

例如有以下代码:

java
@Configuration
public class Config {
    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        return builder.routes()
                .route("apiroute", r -> r.path("/api/**")
                        .filters(f -> f.stripPrefix(1))
                        .uri("http://localhost:8080"))
                .build();
    }
}

启动成功点击环境设置,可以发现会有一个名为apiroute的环境。

官网地址:https://coolrequest.dev/docs/feat/spring_gateway/

更新: 2024-09-02 16:01:41
原文: https://www.yuque.com/tulingzhouyu/db22bv/mknt2g3ukflkcb0v