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

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

三、主线下钻

3.1 应用崩溃率的钻取分析

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

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

  1. 结合崩溃率变化曲线和非崩溃时用户占比变化曲线进行分析,例如(1)是否崩溃率直线上升时有新的版本(2)崩溃率陡升时用户数是否受影响。
    New Relic Mobile Crash Analytics: Percentages
  2. 组合筛选特定数据进行分析
    筛选特定的设备、地点、应用版本、时间以及自定义属性等对崩溃进行更加详细的分析。
    New Relic Mobile Crash Analytics: Group and filter
  3. 查看筛选出的Top5。
    New Relic Mobile Crash Analytics: Top 5 occurrences
  4. 查看筛选的崩溃报告列表,可以看到(1)在选定时间内发生的崩溃数(2)是否是最新的崩溃(3)是否某特定的版本的崩溃率比较高(4)崩溃首次发生和最近发生的时间。
    New Relic Mobile Crash Analytics: Crash table
  5. 点击某条崩溃的报告,进入崩溃事件跟踪,去查阅导致崩溃的详细信息。
    New Relic Mobile crash event trail

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

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

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

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

3.4 HTTP响应时间的钻取分析

点击HTTP响应时间变化曲线图,会跳转到HTTP请求分析界面。 screen http requests.png 点击特定的URL,会下钻到此特定请求的详细信息,包括以下三个方面: (1)Top5请求时间 (2)平均吞吐量 (3)平均数据传输量 screen http requests details.png 点击HTTP会话下钻,会跳转到服务器端的会话分析界面,即端到端分析。如下图所示: New Relic APM: Transactions page

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 screen mobile interactions.png 点击指定交互,进入详细界面,包括如下数据: (1)线程类型,前台还是后台 (2)类名、方法名 (3)方法执行耗时占比 (4)方法平均调用次数 (5)方法平均执行耗时 screen mobile interactions details.png 慢交互Trace详情,点击最下方的慢交互列表中的交互,会展示慢交互Trace详情: screen mobile interactions timeline.png

四、其他支线

4.1 服务拓扑

展示移动应用与其他服务的拓扑关系。 screen mobile map.png 下钻: (1)点击URL,到HTTP请求分析页面 screen http requests.png (2)点击服务名字,到相应的服务,即端到端分析。

4.2 应用已处理异常分析

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

五、探针能力

以上数据钻取所需要的数据都是安装了NewRelic的Android/iOS探针后采集的,归纳后的所需探针能力如下:
  • 网络
    • 常规网络性能数据:响应时间、吞吐量等
    • 网络异常
      • 网络错误
      • HTTP错误(>=400),采集body
    • 端到端HTTP会话Trace
  • 交互
    • 交互数据,分为Android和iOS
    • 慢交互详情:CPU/MEM/Network/交互
  • 异常
    • 崩溃
      • 时间、版本等基础信息
      • 崩溃栈
      • 崩溃事件跟踪
    • 已处理异常
      • 时间、版本、影响用户数等基础信息
      • 异常详情、调用栈
  • 运营数据
    • 应用启动:按版本比较,分交互时间、活跃会话数、错误率等维度
  • 其他
    • 服务拓扑
      • URL => HTTP请求分析
      • 服务名称 => 后端服务
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello2mao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值