您的位置:首页 > 移动开发

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

2018-02-23 19:14 337 查看

目录

一、背景

二、主线入口

三、主线下钻

  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移动端数据钻取分析的主线入口在总览页上,如下图所示:



五个关键元素作为主线下钻的入口,分别是:

(1)应用崩溃率

(2)应用启动次数

(3)HTTP错误率/网络错误率

(4)HTTP响应时间

(5)频繁交互列表

三、主线下钻

3.1 应用崩溃率的钻取分析

点击应用崩溃率变化曲线的标题,会跳转到崩溃列表,如下图所示:



对上图,NewRelic推荐了分析崩溃的一般流程:

1. 结合崩溃率变化曲线和非崩溃时用户占比变化曲线进行分析,例如(1)是否崩溃率直线上升时有新的版本(2)崩溃率陡升时用户数是否受影响。



2. 组合筛选特定数据进行分析

筛选特定的设备、地点、应用版本、时间以及自定义属性等对崩溃进行更加详细的分析。



3. 查看筛选出的Top5。



4. 查看筛选的崩溃报告列表,可以看到(1)在选定时间内发生的崩溃数(2)是否是最新的崩溃(3)是否某特定的版本的崩溃率比较高(4)崩溃首次发生和最近发生的时间。



5. 点击某条崩溃的报告,进入崩溃事件跟踪,去查阅导致崩溃的详细信息。



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

点击应用启动次数变化曲线的标题,会跳转到版本分析页面。



不同版本的比较,会以三个维度进行:

(1)交互时间

(2)活跃的会话次数

(3)错误率

同时,下方有张表格,列出每个版本的新建时间、平均内存占用、平均CPU占用、平均会话时间、平均请求时间。

可以点击特定的版本进行细节信息的下钻,主要和最新的版本进行数据的对比展示。如下图所示:



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

点击HTTP错误率/网络错误率变化曲线,会跳转到错误分析界面。

HTTP错误包括statusCode>=400的信息,网络错误包括安全连接失败、超时、找不到host、无网、无法连接等。

对于statusCode>=400的http,会记录body。点击URL可以看到详细数据。



3.4 HTTP响应时间的钻取分析

点击HTTP响应时间变化曲线图,会跳转到HTTP请求分析界面。



点击特定的URL,会下钻到此特定请求的详细信息,包括以下三个方面:

(1)Top5请求时间

(2)平均吞吐量

(3)平均数据传输量



点击HTTP会话下钻,会跳转到服务器端的会话分析界面,即端到端分析。如下图所示:



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



点击指定交互,进入详细界面,包括如下数据:

(1)线程类型,前台还是后台

(2)类名、方法名

(3)方法执行耗时占比

(4)方法平均调用次数

(5)方法平均执行耗时



慢交互Trace详情,点击最下方的慢交互列表中的交互,会展示慢交互Trace详情:



四、其他支线

4.1 服务拓扑

展示移动应用与其他服务的拓扑关系。



下钻:

(1)点击URL,到HTTP请求分析页面



(2)点击服务名字,到相应的服务,即端到端分析。

4.2 应用已处理异常分析

有些异常虽然被程序自动处理了,但是可能存在隐患从而导致崩溃或者影响用户的体验。NewRelic监控了这些已经处理的异常,从而帮助开发者快速定位可能存在的问题。如下图所示:



NewRelic推荐的已处理异常分析的一般流程如下:

(1)在受影响用户和会话两张图标中,检查是否在陡升处有发版、是否影响大量用户。



(2)组合筛选特定数据进行分析

筛选特定的异常、应用版本、设备等信息。



(3)查看筛选出的Top5。



(4)点击筛选列表中的项,查看异常的详细信息。

包括基础信息、影响用户数、总发生次数、调用栈等。



五、探针能力

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

网络

常规网络性能数据:响应时间、吞吐量等

网络异常

网络错误

HTTP错误(>=400),采集body

端到端HTTP会话Trace

交互

交互数据,分为Android和iOS

慢交互详情:CPU/MEM/Network/交互

异常

崩溃

时间、版本等基础信息

崩溃栈

崩溃事件跟踪

已处理异常

时间、版本、影响用户数等基础信息

异常详情、调用栈

运营数据

应用启动:按版本比较,分交互时间、活跃会话数、错误率等维度

其他

服务拓扑

URL => HTTP请求分析

服务名称 => 后端服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  APM NewRelic