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

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

时间:2024-03-29 10:12:13浏览次数:25  
标签:插件 调用 Trace 优雅 耗时 跟踪 方法 Cool

前言

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

a4bea701c23a78445e151fe02bab0d2.png

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

d7341545fbf3d1dfd5448c4a357c877.png

什么是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。

image.png

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

显示调用次数

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

image.png

自定义耗时颜色

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

image.png

脚本中操作环境

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

image.png

另外响应中,大部分是通过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()+"");

}

标签:插件,调用,Trace,优雅,耗时,跟踪,方法,Cool
From: https://www.cnblogs.com/HouXinLin/p/18103176

相关文章

  • Qt自定义插件写Excel表格
    网上找到一个开源的Qt插件,下载下来,生成头文件和库文件,可以不依赖电脑是否安装Excel软件,是否有Excel驱动,可以直接输出excel文档https://github.com/dbzhang800/QtXlsxWriter/tree/master/src/xlsx#include"CopyAllFileThread.h"#include<QFileInfo>#include"LocalDb.h"#inc......
  • 掌握C#中异步魔法:同步方法如何优雅调用异步方法
     概述:上述C#示例演示了如何在同步方法中调用异步方法。通过使用`async`和`await`关键字,实现了同步方法对异步方法的调用。建议使用`await`而不是`Result`来避免潜在的死锁问题。这种模式在处理异步任务时能够提高代码的可读性和性能。在C#中,从同步方法调用异步方法的过程涉及......
  • MNN:轻量级深度学习推理框架的优雅之选
    在深度学习领域,推理框架的选择对于模型的应用至关重要。MNN,作为阿里巴巴开源的一款轻量级深度学习推理框架,凭借其出色的性能和易用性,逐渐成为了众多开发者的首选。本文将为大家详细介绍MNN的特点、安装及编译过程,带您领略这一优雅之选的魅力。一、MNN:轻量级推理框架的璀璨......
  • 魔兽世界LUA插件开发
    魔兽世界LUA插件开发1.创建插件1.1创建插件文件夹打开WorldofWarcraft\Interface\AddOns文件下,在该文件夹下创建一个插件名文件夹用来存放插件,如Makubex1.2创建插件文件在该文件夹下创建俩个文件,一个是用来给魔兽世界引入的toc头文件,一个是你自己的lua脚本文件......
  • 各种 IntelliJ IDEA 酷炫插件推荐
    (2)BackgroundImagePlusidea背景修改插件,让你的idea与众不同,可以设置自己喜欢的图片作为code背景。安装成功之后重启,菜单栏的VIew标签>点击SetBackgroundImage(没安装插件是没有这个标签的),在弹框中路由选择到本地图片,点击OK即可。(3)Grepconsole自定义日志颜色,idea控......
  • Vue学习笔记65--常用插件安装指令
    常用插件安装指令nanoid:用于生成唯一主键id第一步:npminstallnanoid第二步:import{nanoid}from'nanoid'第三步:id:nanoid(), //也可以指定生成字符串的长度,如nanoid(5)uuid:用于生成唯一主键id第一步:npminstalluuid第二步:import {v4 asuuidv4 } from ......
  • pretty-printers:更优雅的看GDB堆栈信息
    在GDB中,你可以使用print命令(p)打印一个各种对象的内容。但是GDB默认的打印格式可能不是很易读,特别是对于复杂的数据结构。为了得到更易于阅读的输出,你可以使用prettyprinters。prettyprinters是一些特殊的脚本,它们可以改变GDB打印对象的方式。gitclonehttps://gcc.gnu.org/gi......
  • 使用C++20协程和io_uring优雅地实现异步IO
    距离2020年已经过去很久了,各大编译器对于C++20各项标准的支持也日趋完善,无栈协程也是其中之一,所以我就尝试着拿协程与io_uring实现了一下proactor模式,这篇文章用来记录一下我的设计和想法。除此之外,我们能在网络上找到许多优秀的C++20协程的教程以及许多优秀的协程应用(库),但从协程......
  • 分享一个DuiLib VSCode UI预览插件
    本插件能够在VSCode上预览DuiLib的XML文件,这样用VSCode编写UI就很方便了我公司的Windows客户端UI是基于DuiLib的,平时在写UI的过程中,经常需要频繁打开客户端来看查看样式,对我来说就很不方便。我一般用VSCode来写XML,某一天前端同事分享了一个他自己开发的VSCode插件,我就在想,......
  • 接插件
    接插件介绍连接器、接插件和接线端子连接器,国内也称做接插件,插头和插座,一般指电器连接器,即连接两个有源器件的器件,传输电流或信号(电信号或光信号),它作用非常单纯:在电路内被阻断处或孤立不通的电路之间,架起沟通的桥梁,从而使电流流通,使电路实现预定的功能。接插件指电接插件,是一......