如何优雅的查看方法耗时,不用写一行代码!这个插件支持的太多了

前言

没错,又是Cool Request插件,这次引来一个重大更新,可以统计任意方法耗时,先上个图。

另外,这是此次更新的功能。

什么是Cool Request

Cool Request是一个IDEA中的接口调试插件,除了可以发起基本的HTTP请求之外,还提供了强大的反射调用能力,可以绕过拦截器,这点广受网友的好评,当然伴随着还有Spring中对@Scheduled注解的调用,以及xxl-job的支持,这是不是很酷(Cool)?

什么是Trace

我怀着一颗激动的心向大家介绍这个Trace功能。

Trace可以统计除了java包的任意包,为什么不能统计java的?因为可能会出现不稳定的情况,再说,java包怎么可能有问题,有问题的也是你的代码(手动狗头)。

Trace如果在启用状态下,将在你发起请求的时候,自动从Controller方法下开始跟踪,如果深度为1,那么则只跟踪Controller方法,如果深度为2,则跟踪Controller下所有方法,深度为3,那就跟踪Controller下所有方法下的所有方法,以此类推,但是会出现你设置了一个很大的值,却跟踪不到这个深度,因为有些是通过接口(interface)调用的,静态代码分析无法分析到是哪个实现类,所以没办法继续向下跟踪,可以右击任意方法,手动添加方法跟踪。

自动跟踪Mybatis函数

Trace可以选择性的跟踪Mybatis的执行函数,这个函数是最终执行sql语句的函数,如下图,可以很方便的看到这个查询执行了7ms。

如果你对源码有了解,可以添加任意方法。

显示调用次数

另外,其中左侧的+100,这些代表在这个方法下,此方法调用了100次,但目前无法统计每个方法的耗时。

自定义耗时颜色

如果想高亮5ms以上的方法,可以在设置中,设置5ms,那么超过5ms的将处于红色状态,非常方便。

脚本中操作环境

想象一下场景,你的所有操作都需要登录(如果实现下没有用到用户信息,可以选择反射调用,绕过拦截器),请求头中都需要填写token,而这个token是其他接口获取的,那么你可以在这个接口下写一个脚本,获取到token,然后对环境变量进行操作,设置一个header,非常的方便

另外响应中,大部分是通过json格式,那么怎么在响应脚本中解析json?

使用Cool Request那可比其他插件方便太多了。

Cool Request支持调用你项目中任意的类,包括第三方的!,Gson有吧,Fastjson有吧,如果没有,SpringBoot默认引入的ObjectMapper总该有吧,都可以调用,下面是一个例子。

不需要你学习其他语言,就用Java !, 下面都能看懂吧,就不需要多解释了。

java 复制代码
public void handlerResponse(ILog log, HTTPResponse response,IEnv env) {

    String body =new String(response.getResponseBody());
    log.println(body);
    User user = JSON.parseObject(body, User.class);
    log.println(user.getAge()+"");

}
相关推荐
clk660726 分钟前
Spring Boot
java·spring boot·后端
皮皮高1 小时前
itvbox绿豆影视tvbox手机版影视APP源码分享搭建教程
android·前端·后端·开源·tv
弱冠少年1 小时前
golang入门
开发语言·后端·golang
Humbunklung1 小时前
Rust 函数
开发语言·后端·rust
喜欢踢足球的老罗1 小时前
在Spring Boot 3.3中使用Druid数据源及其监控功能
java·spring boot·后端·druid
jakeswang2 小时前
StarRocks
后端·架构
龙云飞谷2 小时前
从原理到调参,小白也能读懂的大模型微调算法Lora
后端
荣江2 小时前
【实战】基于 Tauri 和 Rust 实现基于无头浏览器的高可用网页抓取
后端·rust
寻月隐君2 小时前
Web3实战:Solana CPI全解析,从Anchor封装到PDA转账
后端·web3·github
程序员小假2 小时前
说一说 SpringBoot 中 CommandLineRunner
java·后端