Interactions

OneAPM Interactions 功能用于监控最终用户与App交互时被调用代码的执行情况,用于分析发现耗时的用户交互。当安卓和 iOS 应用安装 SDK 后,可以在 OneAPM Interactions 界面上查看详细信息。

查看 Interactions 

移动应用 >(选中 app)> 应用 > Interactions:查看 App 的交互执行时间及执行次数。

Interactions 详情

选择某个Activity,查看该Activity UI主线程和Worker线程耗时状况。查看峰值,对执行次数最多,执行时间最长的线程进行优化。然后结合业务逻辑优化代码,尽量将耗时操作放在worker线程上,避免阻塞主线程进而影响用户体验。

 

 移动应用 >(选中 app)> 应用 > Interactions > 选择某个Interaction:查看具体Activity的交互情况。

Interactions Traces

OneAPM 将耗时大于0.4秒的交互定义为慢交互,显示在 Traces 表格中。例如,在用户打开App主页面的Activity中,其中有数据库的操作、解码图片、访问网络等等,只要某一步骤耗时大于0.4秒,OneAPM 就认为这是一个Interaction Trace。

查看移动应用的 Interactions Traces:

  1. 在 OneAPM 菜单栏中选择 移动应用 >(选中 app)> 应用 > Interactions
  2. 在 Traces 表格中,选择该 Trace 的 Activity 链接。

移动应用 >(选中 app)> 应用 > Interactions Traces: 查看发生了缓慢的交互详情

Interactions Traces 时序图

在该页面中显示发生缓慢的某次交互中 CPU/memory 消耗状况,网络请求,异步线程的分布情况。交互时间轴也会提供设备参数,帮助您更加了解 App 用户使用的设备级别数据。

该页展示了所选择的 Activity 的应用版本,操作系统,设备信息,发生时间。指标时序图是是Trace时序图的堆叠图,从内存堆叠图可以看出,该应用模块的内存释放是否及时,网络堆叠图可以看出同一时刻发生了多少异步网络请求,是否和程序员最初设计的业务逻辑相符合。从而判断出造成某一时刻慢的原因。

在 Trace 的时序图中可以看出耗时的异步请求,内存消耗,多次请求调用,进而有针对性地优化应用模块。

当 Activity 中逻辑相对比较复杂的时候,该页也可以帮助非开发该功能的程序员看清楚其中的逻辑关系,快速定位造成 Activity 慢的原因。

基于上面的说明,可能看不见 Trace 的原因如下:

  • 选择的时间段内没有满足 Trace 时间的记录,证明 App 运行状态良好。这个时候可以尝试把时间段选择长一点,例如选择3天、7天或者更久看看是否有 Trace。
  • App 运行情况良好。
  • App 中没有有关网络、图片解码、数据解析、数据库等操作。

 

 

 

还有其他问题? 提交请求

您还可以采取以下方式解决问题: