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请求分析
服务名称 => 后端服务
相关文章推荐
- C#解析Xml的Dom和Sax方式性能分析
- Android解析JSON数据的方法分析
- 关于VisualStudio性能分析数据中的独占样本数和非独占样本数的意义
- 【高级内部资料】.NET数据批量写入性能分析 第二篇
- 分析性能数据(转载)
- 数据结构实验4(排序算法的实现及性能分析)
- 【MySQL】mysql join语法解析与性能分析
- VueJs 源码分析 ---(二)实力化生命周期,以及解析模版和监听数据变化
- lr:项目 性能测试中的数据解释与分析
- ASP.NET 数据绑定常用代码及其性能分析
- redis常见重要性能指标数据分析和相关问题解决方案
- Spark商业案例与性能调优实战100课》第3课:商业案例之通过RDD分析大数据电影点评系各种类型的最喜爱电影TopN及性能优化技巧
- Mysql Join语法解析与性能分析
- jQuery解析json数据实例分析
- 【性能】性能测试数据分析
- hadoop源码解析之hdfs写数据全流程分析---客户端处理
- 深度解析数据分析对排名的决定作用(二)
- FastJson和Gson和Json数据解析分析和用法
- live555源代码详细分析解析,教你如何使用live555接收rtsp数据
- 5个日志数据:让你轻松分析系统性能