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

前言

没错,又是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()+"");

}
相关推荐
WeiLai11127 分钟前
面试基础--微服务架构:如何拆分微服务、数据一致性、服务调用
java·分布式·后端·微服务·中间件·面试·架构
大脑经常闹风暴@小猿2 小时前
1.1 go环境搭建及基本使用
开发语言·后端·golang
尚学教辅学习资料2 小时前
基于SpringBoot的美食分享平台+LW示例参考
spring boot·后端·美食
Vitalia4 小时前
从零开始学 Rust:基本概念——变量、数据类型、函数、控制流
开发语言·后端·rust
猎人everest7 小时前
SpringBoot应用开发入门
java·spring boot·后端
孤雪心殇12 小时前
简单易懂,解析Go语言中的Map
开发语言·数据结构·后端·golang·go
小突突突14 小时前
模拟实现Java中的计时器
java·开发语言·后端·java-ee
web1376560764314 小时前
Scala的宝藏库:探索常用的第三方库及其应用
开发语言·后端·scala
闲猫14 小时前
go 反射 interface{} 判断类型 获取值 设置值 指针才可以设置值
开发语言·后端·golang·反射
LUCIAZZZ15 小时前
EasyExcel快速入门
java·数据库·后端·mysql·spring·spring cloud·easyexcel