如何使用 arthas 找到动态代理慢逻辑的具体原因?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要使用Arthas定位动态代理导致的慢逻辑具体原因,您可以遵循以下步骤进行方法执行分析和线程耗时分析:
启动Arthas诊断:首先确保您的Java应用满足使用Arthas的条件,并在ARMS控制台中为应用开通Arthas诊断功能。
进入方法执行分析页签:登录EDAS控制台,导航至目标应用的“监控 > 应用诊断-Arthas诊断”页面,点击方法执行分析页签。
搜索相关类:在搜索框输入您怀疑存在性能问题的类名关键词,选择正确的类后,在右侧方法选择框选取疑似慢调用的方法,点击确定。
查看执行详情:左侧执行堆栈区域会展示该方法内部执行记录,包括每个内部方法的耗时注释。如需深入探究,可对某个方法点击钻入操作。
设置执行条件:若需针对性地抓取特定条件下的方法执行记录,可在设置执行条件区域配置过滤条件,比如基于方法耗时、参数值或返回值等。设置完成后,系统将根据这些条件重新抓取方法执行信息。
检查线程状态:切换到线程耗时分析页签,这里会显示所有线程及其实时耗时情况,并聚合相似线程。
识别高耗时线程:通过展开线程明细(点击线程左侧的**+**图标),查看线程ID、CPU使用率和状态,识别出耗时较高的线程。
查看堆栈信息:对于疑似慢执行的线程,点击其右侧操作列的查看实时堆栈,以获取详细的堆栈跟踪信息,帮助定位到具体代码行。
通过上述步骤,您可以利用Arthas的深度洞察力,有效定位并分析动态代理引起的慢逻辑问题。