简介: 启动分析支持通过预置采集和个性化自定义两种方式定义启动阶段,可以分别查询首次启动、冷启动、热启动的情况效果,并可以与设备、系统、版本、地域等维度做交叉筛选查询。
随着大量应用涌入市场加入“App内卷之战”,终端用户们对应用质量的要求是愈发地挑剔。端上研发同学光关注崩溃类bug解决已无法应对用户对App体验的诉求,很多用户也会反馈与性能有关的问题,比如App启动时间太长、页面卡死、闪退等。 随时线上用户诉求的提高,很多开发同学也从线下测试性能演变到更关注线上性能问题,以此保障用户体验。
友盟+应用性能监控平台 U-APM从去年底免费上线后,得到行业众多开发者的接入和支持。友盟+也非常重视开发者面对应能监测的各类问题,在近几个月,基于原有稳定性功能优化的基础上,U-APM又新增启动分析、内存分析、卡顿分析三大性能模块,全面助力开发者提升用户体验。
启动分析
启动场景是用户使用App的第一道关卡,启动慢、启动闪退都会直接从源头阻断客户使用,甚至会造成启动不成功新客户卸载的情况。很多技术团队都会以启动耗时作为重点性能监控指标。U-APM中启动分析包含启动趋势、慢启动分析和启动崩溃分析三大功能模块。
启动分析支持通过预置采集和个性化自定义两种方式定义启动阶段,可以分别查询首次启动、冷启动、热启动的情况效果,并可以与设备、系统、版本、地域等维度做交叉筛选查询。
用户也可以分别对首次启动、冷启动和热启动设置慢启动的业务定义。一般情况下,热启动的时间要远低于冷启动、首次启动的时间。慢启动分析可以分别监控三种情况下的慢启动设备数量,以及设备系统分布等信息,并且支持单一设备定点查询启动时序,精准定位问题。
启动阶段的崩溃应当是日常开发中首要需要解决的问题,避免用户短时间遇到崩溃无法继续使用。启动崩溃分析中筛选出自定义的启动时限下的崩溃列表,更便于定位启动问题。
内存分析
U-APM的内存分析提供线上OOM异常的监控与分析,帮助开发者及时发现与定位线上OOM问题。同时,提供App运行阶段内存占用情况,为应用内存优化提供关键指标数据。
在Android异常中,并不是所有的OOM问题都是可以简单查看错误摘要是否包含Out of Memory就可以判断的。
此次内存分析OOM异常的模块中,将内部沉淀使用多年的智能诊断技术对外透出。可以通过智能读取错误堆栈进行匹配,挖掘到那些不是OOM但实际是由OOM引起的异常问题并加以聚类,OOM异常的判断率直接提升20%~30%。iOS应用此次也新增了OOM异常的捕获。
内存占用模块中展示了内存关键指标信息,并且配以设备情况分布用作统计参考。还提供了渠道、版本、系统、设备型号的分布情况。
卡顿分析
U-APM中通过主线程的响应时间,将有卡顿体验的设备信息、卡顿日志进行上报。免费提供了iOS全部采集以及Android 双端卡顿采集,且如此大量的日志数据不用按流量付费。
除此之外,如果开发者觉得一条条看错误堆栈非常麻烦,可以使用U-APM利用聚合算法提供了卡顿模块的功能,约等于1分钟看到200条堆栈的内容,有效节省开发者大量挖掘问题的时间。卡顿模块支持正序、倒序两种聚合形式:
•正序聚合:筛选影响用户量大的200个堆栈从栈顶到栈底进行聚合,帮助客户挖掘造成卡顿问题的最核心问题
•倒序聚合:筛选影响用户量大的200个堆栈从栈底到栈顶进行聚合,帮助客户挖掘造成卡顿问题的最核心问题
两种方法均展示出现频率前10的模块,子树深度最多支持50层,帮助客户下挖详细的卡顿模块信息
利用OpenAPI自助调用错误数据
U-APM后台的错误数据在开发者日常的业务中还有很多的应用。比如,定期将应用质量数据灌入技术组周报中发给公司各部门,或者在公司自有后台中展示今日实时错误率等性能指标。此次新上的OpenAPI可以解决灵活获取应用采集的错误数据的需求,支持实时/离线90天内的数据灵活调用,免费开通权限即可使用。
监控告警升级
U-APM 中的监控告警功能在近期做了多项升级,支持更灵活更个性化的监控告警设置。开发者除了使用调用OpenAPI的方式自行加工数据设置告警,使用U-APM后台中的监控告警功能也更为方便:
a. 灵活设置告警生效时间:
开发者可以添加告警生效的时间段,比如每周一至周五的9点至19点,周末的一12点至20点,灵活设置工作时间,不被无效信息干扰。
b.重点错误类型/单条错误告警:开发者可以选择需要您重点关注的错误类型
或者直接针对某一条修复中的错误进行持续关注告警
c. 组合形式的告警触发条件
开发者可以通过多种指标以及阈值型或者对比型的规则,以交集/并集的组合方式,灵活设置想要的告警触发条件:
d.多种告警触达渠道
如果开发者还对监控告警的触达渠道有所要求,可以考虑使用公司的办公软件进行群触达,与同组的其他同事一起关注并修复应用问题。
错误捕获升级
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
原文链接
本文为阿里云原创内容,未经允许不得转载。