方法耗时
当方法执行时间过长时,可以通过 DebugTools 快速查看方法耗时。
配置
Trace method
:是否追踪方法耗时Max depth
: 最大堆栈深度MyBatis
: 是否追踪MyBatis的Mapper方法耗时SQL
:是否追踪SQL方法耗时Skip get/set method
:是否跳过get/set方法Business package
:正则匹配业务包路径。符合这个路径的方法才会被追踪Ignore package
:正则匹配忽略包路径。符合这个路径的方法不会被追踪
注意
- 这个配置的作用是当唤醒调试面板时,如果这个方法之前没有配置过,会自动读取这个配置添加默认值。
- 如果需要打印SQL,则启动的时候就需要选中SQL配置(因为SQL是启动时修改的字节码)。开启 print sql 或者 trace method 的 SQL 配置均可。
调试面板
Trace method
:是否追踪方法耗时Max depth
: 最大堆栈深度MyBatis
: 是否追踪MyBatis的Mapper方法耗时SQL
:是否追踪SQL方法耗时Skip get/set method
:是否跳过get/set方法Business package
:正则匹配业务包路径。符合这个路径的方法才会被追踪Ignore package
:正则匹配忽略包路径。符合这个路径的方法不会被追踪
注意
- 这个配置对当前这个方法生效。
- 如果需要打印SQL,则启动之前就需要再配置中选中SQL配置。开启 print sql 或者 trace method 的 SQL 配置均可。
手动配置
正常的情况下,一个方法中会调用很多方法,如果Max depth过大会导致字节码转换时间过长。
这个时候建议手动增加要追踪的方法,在方法体中点击右键菜单添加或移除方法追踪。
Add Method To Trace
:添加追踪方法Remove Method From Trace
:移除追踪方法
手动添加的方法会显示如下图标:
点击图标或者通过Remove Method From Trace
可以取消追踪当前方法。
展示结果
通过 trace
类型查看执行方法耗时
Goto method source
: 方法上右键菜单可以跳转到对应的方法。