不用一行代码查看方法耗时,这款 IDEA 插件有点酷!
共 3406字,需浏览 7分钟
·
2024-07-30 14:39
来源:juejin.cn/post/7351300787649134611
👉 欢迎加入小哈的星球,你将获得: 专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17..., 点击查看项目介绍; 《从零手撸:前后端分离博客项目(全栈开发)》 2期已完结,演示链接:http://116.62.199.48/; 截止目前,累计输出 50w+ 字,讲解图 2200+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,戳我加入学习,解锁全部项目,已有1800+小伙伴加入
前言
没错,又是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 !下面都能看懂吧,就不需要多解释了。
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()+"");
}
👉 欢迎加入小哈的星球,你将获得: 专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17..., 点击查看项目介绍; 《从零手撸:前后端分离博客项目(全栈开发)》 2期已完结,演示链接:http://116.62.199.48/; 截止目前,累计输出 50w+ 字,讲解图 2200+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,戳我加入学习,解锁全部项目,已有1800+小伙伴加入
1. 我的私密学习小圈子~
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 Java 领取,更多内容陆续奉上。
PS:因公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。
点“在看”支持小哈呀,谢谢啦