Debugging诊断的方法分析功能,不支持重载嵌套调用的下钻。
现象
- 登录管理控制台。
- 单击左侧,选择“管理与监管 > 应用性能管理 APM”,进入APM服务页面。
- 在左侧导航栏选择“应用监控 > 指标”。
- 在界面左侧树,单击环境后的。
- 单击“Debugging诊断”,切换至Debugging诊断页签。
- 单击“方法分析”,进入方法分析页面。
- 输入类名称:com.example.hello.helloController,并选择方法名为boy,单击“确认”。
- 单击“org.apache.http.impl.client.CloseableHttpClint.execute #-1”对应的“下钻”。
- 单击“org.apache.http.impl.client.CloseableHttpClint.execute #108”对应的“下钻”,没有任何反应。
触发场景
当Debugging的观测类中存在方法重载时,即类中存在多个同名的函数且存在嵌套调用。只能追踪到首个被调用的方法,即execute方法中又调用了execute方法,则无法下钻。
根因及约束
前端watch、trace命令没有指定重载的方法参数列表,所以Debugging无法返回精确的方法信息,只能返回首个方法。问题中execute方法内部又调用了execute方法,当前的实现无法支持这种场景。
因此,Debugging暂时不支持重载方法嵌套调用的下钻功能。