应用诊断分析平台ATP堆分析的OQL查询在哪?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
ATP(应用诊断分析平台)的OQL(object query language)查询并不公开,只能通过ATP提供的GUI界面进行查询。
ATP堆分析主要提供下面几个功能:
堆快照:可以捕获Java应用程序在特定时间点的内存情况,作为分析的基础。
OOM分析:可以针对OutOfMemoryError错误进行跟踪,查明内存泄漏或高内存占用的根因。
引用分析:可以检测循环引用、弱引用及 finalize()方法是否正常回收对象等情况。
内存分配情况:可以查看当前JVM中对象的分配情况,包括Eden、S0、S1、Old等不同区域。
主要的OQL查询主要针对以上5个方面,但并未公开。
当你登录ATP后,会有一个GUI界面。在界面中,你可以选择:
堆快照、OOM错误实时消息
根据类名、方法名、包名、属性名等进行查询和过滤
分组统计、排序等高级功能
然后ATP的后端会自动转换成对应的OQL语句,并返回查询结果。
OQL语句并不会直接暴露给用户,只提供高级GUI查询界面。
所以对于ATP内部的OQL查询语句,我们无法直接获取。
只能通过ATP提供的GUI界面进行分析,像下面这种方式:
选择「堆快照」
输入「com.xxx.xxx」过滤类名
then click「统计」