启动、内存、卡顿三大分析,用户体验就用它?

本文涉及的产品
云拨测,每月3000次拨测额度
简介: 启动分析支持通过预置采集和个性化自定义两种方式定义启动阶段,可以分别查询首次启动、冷启动、热启动的情况效果,并可以与设备、系统、版本、地域等维度做交叉筛选查询。U-APM的内存分析提供线上OOM异常的监控与分…

随着大量应用涌入市场加入“App内卷之战”,终端用户们对应用质量的要求是愈发地挑剔。端上研发同学光关注崩溃类bug解决已无法应对用户对App体验的诉求,很多用户也会反馈与性能有关的问题,比如App启动时间太长、页面卡死、闪退等。 随时线上用户诉求的提高,很多开发同学也从线下测试性能演变到更关注线上性能问题,以此保障用户体验。

友盟+应用性能监控平台 U-APM从去年底免费上线后,得到行业众多开发者的接入和支持。友盟+也非常重视开发者面对应能监测的各类问题,在近几个月,基于原有稳定性功能优化的基础上,U-APM又新增启动分析、内存分析、卡顿分析三大性能模块,全面助力开发者提升用户体验。

1.png

启动分析

启动场景是用户使用App的第一道关卡,启动慢、启动闪退都会直接从源头阻断客户使用,甚至会造成启动不成功新客户卸载的情况。很多技术团队都会以启动耗时作为重点性能监控指标。U-APM中启动分析包含启动趋势、慢启动分析和启动崩溃分析三大功能模块。

2.png

启动分析支持通过预置采集和个性化自定义两种方式定义启动阶段,可以分别查询首次启动、冷启动、热启动的情况效果,并可以与设备、系统、版本、地域等维度做交叉筛选查询。

3.png

用户也可以分别对首次启动、冷启动和热启动设置慢启动的业务定义。一般情况下,热启动的时间要远低于冷启动、首次启动的时间。慢启动分析可以分别监控三种情况下的慢启动设备数量,以及设备系统分布等信息,并且支持单一设备定点查询启动时序,精准定位问题。

4.png

启动阶段的崩溃应当是日常开发中首要需要解决的问题,避免用户短时间遇到崩溃无法继续使用。启动崩溃分析中筛选出自定义的启动时限下的崩溃列表,更便于定位启动问题。

5.png

内存分析

U-APM的内存分析提供线上OOM异常的监控与分析,帮助开发者及时发现与定位线上OOM问题。同时,提供App运行阶段内存占用情况,为应用内存优化提供关键指标数据。

在Android异常中,并不是所有的OOM问题都是可以简单查看错误摘要是否包含Out of Memory就可以判断的。

此次内存分析OOM异常的模块中,将内部沉淀使用多年的智能诊断技术对外透出。可以通过智能读取错误堆栈进行匹配,挖掘到那些不是OOM但实际是由OOM引起的异常问题并加以聚类,OOM异常的判断率直接提升20%~30%。iOS应用此次也新增了OOM异常的捕获。

6.png

内存占用模块中展示了内存关键指标信息,并且配以设备情况分布用作统计参考。还提供了渠道、版本、系统、设备型号的分布情况。

7.png

卡顿分析

U-APM中通过主线程的响应时间,将有卡顿体验的设备信息、卡顿日志进行上报。免费提供了iOS全部采集以及Android 双端卡顿采集,且如此大量的日志数据不用按流量付费。

8.png

除此之外,如果开发者觉得一条条看错误堆栈非常麻烦,可以使用U-APM利用聚合算法提供了卡顿模块的功能,约等于1分钟看到200条堆栈的内容,有效节省开发者大量挖掘问题的时间。卡顿模块支持正序、倒序两种聚合形式:

•正序聚合:筛选影响用户量大的200个堆栈从栈顶到栈底进行聚合,帮助客户挖掘造成卡顿问题的最核心问题

•倒序聚合:筛选影响用户量大的200个堆栈从栈底到栈顶进行聚合,帮助客户挖掘造成卡顿问题的最核心问题

两种方法均展示出现频率前10的模块,子树深度最多支持50层,帮助客户下挖详细的卡顿模块信息

9.png

利用OpenAPI自助调用错误数据

U-APM后台的错误数据在开发者日常的业务中还有很多的应用。比如,定期将应用质量数据灌入技术组周报中发给公司各部门,或者在公司自有后台中展示今日实时错误率等性能指标。此次新上的OpenAPI可以解决灵活获取应用采集的错误数据的需求,支持实时/离线90天内的数据灵活调用,免费开通权限即可使用。

10.png

监控告警升级

U-APM 中的监控告警功能在近期做了多项升级,支持更灵活更个性化的监控告警设置。开发者除了使用调用OpenAPI的方式自行加工数据设置告警,使用U-APM后台中的监控告警功能也更为方便:

a. 灵活设置告警生效时间:

11.png

开发者可以添加告警生效的时间段,比如每周一至周五的9点至19点,周末的一12点至20点,灵活设置工作时间,不被无效信息干扰。

b.重点错误类型/单条错误告警:开发者可以选择需要您重点关注的错误类型

12.png

或者直接针对某一条修复中的错误进行持续关注告警
13.png

c. 组合形式的告警触发条件
14.png

开发者可以通过多种指标以及阈值型或者对比型的规则,以交集/并集的组合方式,灵活设置想要的告警触发条件:

d.多种告警触达渠道

15.png

如果开发者还对监控告警的触达渠道有所要求,可以考虑使用公司的办公软件进行群触达,与同组的其他同事一起关注并修复应用问题。

错误捕获升级

U-APM近期的升级中对错误捕获的类型有大幅增多:

Android 支持Java、Native的崩溃采集;ANR;以及针对Unity SDK增加c#、Lua的错误类型;

iOS 支持:Swift、Objective-C崩溃的采集

除上述功能外,U-APM在云真机的UI设计、API上传符号表页面整体加载速度渲染等等功能上也进行了更新,详情及免费使用请至:https://www.umeng.com/apm?&utm_source=w_aly_pc_0723

相关文章
|
3月前
|
监控 Java
如何使用VisualVM分析内存泄漏?具体流程看这里
如何使用VisualVM分析内存泄漏?具体流程看这里
|
4月前
|
安全 Linux 编译器
内存泄漏检测组件的分析与实现(linux c)-mtrace工具使用
内存泄漏产生原因 在堆上使用malloc/remalloc/calloc分配了内存空间,但是没有使用free释放对应的空间。
78 0
|
1月前
|
缓存 Java
Java中循环创建String对象的内存管理分析
Java中循环创建String对象的内存管理分析
25 2
|
5天前
|
存储 Arthas 监控
JVM工作原理与实战(三十):堆内存状况的对比分析
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了堆内存状况的对比分析、产生内存溢出的原因等内容。
12 0
|
7天前
|
缓存 Linux
linux性能分析之内存分析(free,vmstat,top,ps,pmap等工具使用介绍)
这些工具可以帮助你监视系统的内存使用情况、识别内存泄漏、找到高内存消耗的进程等。根据具体的问题和需求,你可以选择使用其中一个或多个工具来进行内存性能分析。注意,内存分析通常需要综合考虑多个指标和工具的输出,以便更好地理解系统的行为并采取相应的优化措施。
27 6
|
10天前
|
机器学习/深度学习 分布式计算 数据处理
Spark是一个基于内存的通用数据处理引擎,可以进行大规模数据处理和分析
【5月更文挑战第2天】Spark是一个基于内存的通用数据处理引擎,可以进行大规模数据处理和分析
23 3
|
12天前
|
监控 算法 测试技术
【Go语言专栏】Go语言的性能优化与内存分析
【4月更文挑战第30天】本文探讨了Go语言的性能优化策略和内存分析方法。性能优化原则包括基准测试、分析瓶颈、避免过早优化和持续监控。优化策略涉及减少内存分配、避免内存逃逸、利用并发、优化算法和数据结构以及减少系统调用。内存分析借助于Go的`pprof`工具、内存分配跟踪和第三方工具,以发现内存泄漏和管理问题。通过这些方法,开发者能提升Go程序效率和资源利用率。
|
15天前
|
缓存 Java Android开发
安卓开发中的内存泄漏分析与优化策略
【4月更文挑战第27天】 在移动应用开发领域,性能优化始终是提升用户体验的关键因素之一。特别是对于安卓平台,由于设备的硬件配置差异较大,良好的内存管理对于保证应用流畅运行尤为重要。本文将深入探讨安卓开发中常见的内存泄漏问题,并提供一系列检测和解决内存泄漏的实用策略。通过对工具的使用、代码实践以及系统架构设计的多维度分析,旨在帮助开发者有效避免和处理内存泄漏,确保应用性能稳定。
|
19天前
|
Java
【Java基础】面向对象和内存分析
【Java基础】面向对象和内存分析
16 0
|
19天前
|
存储 Java Shell
Android系统 实现低内存白名单防LMK原理分析
Android系统 实现低内存白名单防LMK原理分析
32 0