NewRelic移动端性能数据的钻取分析解析

目录

一、背景
二、主线入口
三、主线下钻
  3.1 应用崩溃率的钻取分析
  3.2 应用启动次数的钻取分析
  3.3 HTTP错误率/网络错误率的钻取分析
  3.4 HTTP响应时间的钻取分析
  3.5 频繁交互列表的钻取分析
四、其他支线
  4.1 服务拓扑
  4.2 应用已处理异常分析
五、探针能力

一、背景

数据多层钻取可以帮助我们一层一层查看更细粒度的下层数据,协助定位问题和性能瓶颈。
本次主要调研NewRelic移动端的数据钻取分析的模式。
分为主线和支线。
Ref:https://docs.newrelic.com/docs/mobile-monitoring/mobile-monitoring-ui

二、主线入口

NewRelic移动端数据钻取分析的主线入口在总览页上,如下图所示:
NewRelic移动端性能数据的钻取分析解析

五个关键元素作为主线下钻的入口,分别是:
(1)应用崩溃率
(2)应用启动次数
(3)HTTP错误率/网络错误率
(4)HTTP响应时间
(5)频繁交互列表

三、主线下钻

3.1 应用崩溃率的钻取分析

点击应用崩溃率变化曲线的标题,会跳转到崩溃列表,如下图所示:
NewRelic移动端性能数据的钻取分析解析

对上图,NewRelic推荐了分析崩溃的一般流程:
1. 结合崩溃率变化曲线和非崩溃时用户占比变化曲线进行分析,例如(1)是否崩溃率直线上升时有新的版本(2)崩溃率陡升时用户数是否受影响。
NewRelic移动端性能数据的钻取分析解析
2. 组合筛选特定数据进行分析
筛选特定的设备、地点、应用版本、时间以及自定义属性等对崩溃进行更加详细的分析。
NewRelic移动端性能数据的钻取分析解析
3. 查看筛选出的Top5。
NewRelic移动端性能数据的钻取分析解析
4. 查看筛选的崩溃报告列表,可以看到(1)在选定时间内发生的崩溃数(2)是否是最新的崩溃(3)是否某特定的版本的崩溃率比较高(4)崩溃首次发生和最近发生的时间。
NewRelic移动端性能数据的钻取分析解析
5. 点击某条崩溃的报告,进入崩溃事件跟踪,去查阅导致崩溃的详细信息。
NewRelic移动端性能数据的钻取分析解析

3.2 应用启动次数的钻取分析

点击应用启动次数变化曲线的标题,会跳转到版本分析页面。
NewRelic移动端性能数据的钻取分析解析
不同版本的比较,会以三个维度进行:
(1)交互时间
(2)活跃的会话次数
(3)错误率
同时,下方有张表格,列出每个版本的新建时间、平均内存占用、平均CPU占用、平均会话时间、平均请求时间。
可以点击特定的版本进行细节信息的下钻,主要和最新的版本进行数据的对比展示。如下图所示:
NewRelic移动端性能数据的钻取分析解析

3.3 HTTP错误率/网络错误率的钻取分析

点击HTTP错误率/网络错误率变化曲线,会跳转到错误分析界面。
HTTP错误包括statusCode>=400的信息,网络错误包括安全连接失败、超时、找不到host、无网、无法连接等。
对于statusCode>=400的http,会记录body。点击URL可以看到详细数据。
NewRelic移动端性能数据的钻取分析解析

3.4 HTTP响应时间的钻取分析

点击HTTP响应时间变化曲线图,会跳转到HTTP请求分析界面。
NewRelic移动端性能数据的钻取分析解析
点击特定的URL,会下钻到此特定请求的详细信息,包括以下三个方面:
(1)Top5请求时间
(2)平均吞吐量
(3)平均数据传输量
NewRelic移动端性能数据的钻取分析解析
点击HTTP会话下钻,会跳转到服务器端的会话分析界面,即端到端分析。如下图所示:
NewRelic移动端性能数据的钻取分析解析

3.5 频繁交互列表的钻取分析

点击频繁交互列表进入交互分析界面。
NewRelic的交互数据采集包括:
(1)Android: Activities, AsyncTask threading, and the performance of database, image loading, JSON parsing, and other common APIs
(2)iOS: UIViewControllers, GCD dispatch_async, and the performance of CoreData, UIImage, NSJSON, and other common APIs
NewRelic移动端性能数据的钻取分析解析
点击指定交互,进入详细界面,包括如下数据:
(1)线程类型,前台还是后台
(2)类名、方法名
(3)方法执行耗时占比
(4)方法平均调用次数
(5)方法平均执行耗时
NewRelic移动端性能数据的钻取分析解析
慢交互Trace详情,点击最下方的慢交互列表中的交互,会展示慢交互Trace详情:
NewRelic移动端性能数据的钻取分析解析

四、其他支线

4.1 服务拓扑

展示移动应用与其他服务的拓扑关系。
NewRelic移动端性能数据的钻取分析解析
下钻:
(1)点击URL,到HTTP请求分析页面
NewRelic移动端性能数据的钻取分析解析
(2)点击服务名字,到相应的服务,即端到端分析。

4.2 应用已处理异常分析

有些异常虽然被程序自动处理了,但是可能存在隐患从而导致崩溃或者影响用户的体验。NewRelic监控了这些已经处理的异常,从而帮助开发者快速定位可能存在的问题。如下图所示:
NewRelic移动端性能数据的钻取分析解析
NewRelic推荐的已处理异常分析的一般流程如下:
(1)在受影响用户和会话两张图标中,检查是否在陡升处有发版、是否影响大量用户。
NewRelic移动端性能数据的钻取分析解析
(2)组合筛选特定数据进行分析
筛选特定的异常、应用版本、设备等信息。
NewRelic移动端性能数据的钻取分析解析
(3)查看筛选出的Top5。
NewRelic移动端性能数据的钻取分析解析
(4)点击筛选列表中的项,查看异常的详细信息。
包括基础信息、影响用户数、总发生次数、调用栈等。
NewRelic移动端性能数据的钻取分析解析

五、探针能力

以上数据钻取所需要的数据都是安装了NewRelic的Android/iOS探针后采集的,归纳后的所需探针能力如下:

  • 网络
    • 常规网络性能数据:响应时间、吞吐量等
    • 网络异常
      • 网络错误
      • HTTP错误(>=400),采集body
    • 端到端HTTP会话Trace
  • 交互
    • 交互数据,分为Android和iOS
    • 慢交互详情:CPU/MEM/Network/交互
  • 异常
    • 崩溃
      • 时间、版本等基础信息
      • 崩溃栈
      • 崩溃事件跟踪
    • 已处理异常
      • 时间、版本、影响用户数等基础信息
      • 异常详情、调用栈
  • 运营数据
    • 应用启动:按版本比较,分交互时间、活跃会话数、错误率等维度
  • 其他
    • 服务拓扑
      • URL => HTTP请求分析
      • 服务名称 => 后端服务