开发者社区 问答 正文

应用诊断分析平台ATP堆分析的OQL查询在哪?

应用诊断分析平台ATP堆分析的OQL查询在哪?

展开
收起
三分钟热度的鱼 2023-08-08 10:19:17 56 分享 版权
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    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「统计」

    2023-08-09 08:02:39
    赞同 展开评论
  • 还没上线,还在做。此回答整理自钉群“应用诊断分析平台ATP - 客户支持”

    2023-08-08 16:02:12
    赞同 展开评论