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

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

随着大量应用涌入市场加入“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

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

adb echo shell 覆盖_一次写shell脚本的经历记录

点击上方“我的小碗汤”,选择“置顶公众号”精品文章,第一时间送达redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要重启。所以把redis集群的状态检查放到了健康检查中&a…

当新零售遇上 Serverless

简介: Serverless 的出现给传统企业数字化转型带了更多机遇。 某零售商超行业的龙头企业,其主要业务涵盖购物中心、大卖场、综合超市、标准超市、精品超市、便利店及无人值守智慧商店等零售业态,涉及全渠道零售、仓储物流、餐饮、消费服务、…

如果还不懂如何使用 Consumer 接口,就来看这篇!

作者 | 阿Q来源 | 阿Q说代码背景在开发过程中我遇到这么一个问题:表结构:一张主表A ,一张关联表B ,表 A 中存储着表 B 记录的状态。场景:第一步创建主表数据,插入A表;第二步调用第三方接口插入B…

java实验册_Java实验报告册Java实验报告册.doc

Java实验报告册Java实验报告册《面向对象程序设计》实验报告与习题册2013 / 2014 学年 第1学期系 别 计算机科学与技术系专 业 班 级 姓 名 指导教师目 录项 目成 绩批改时间实验一 开发环境的搭建及使用实验二 JAVA程序设计基本语法实验三 面向对象程序设计实验四 输入和输出流…

学python就业到底如何_学习python后,就业如何?

Python技术相关人才,正是迎合了目前人工智能时代的发展趋势,Python作为人工智能的首选语言,其发展前景那是大大的好。学习python原因1、python是脚本语言,作为程序员至少应该掌握一本通用脚本语言,因为脚本语言与编译语…

京东:Flink SQL 优化实战

简介: 本文着重从 shuffle、join 方式的选择、对象重用、UDF 重用等方面介绍了京东在 Flink SQL 任务方面做的优化措施。 本文作者为京东算法服务部的张颖和段学浩,并由 Apache Hive PMC,阿里巴巴技术专家李锐帮忙校对。主要内容为&#xff1…

Spring Boot参数校验以及分组校验的使用

简介: 做web开发基本上每个接口都要对参数进行校验,如果参数比较少,还比较容易处理,一但参数比较多了的话代码中就会出现大量的if-else语句。虽然这种方式简单直接,但会大大降低开发效率和代码可读性。所以我们可以使用…

fetch() php,PHP:使用fetch()发送数据

我试图使用fetch()发送一些数据,但作为回报,我得到SyntaxError:意外的标记,在JSON中的位置23这就是我要做的fetch(/api.php, {method: POST,body: JSON.stringify({nom : "Issa",prenom: "Oule"}),headers : {"Content-Type" : "applicatio…

python商品总价_【Python基础 | 列表】小实验:实现显示商品,选择商品,将商品加入购物车,得到总价格...

B站学习《Python爬虫技术5天速成》时遇到的小作业,原视频点我题目如下:代码如下:products [["iPhone", 6888], ["MBP", 14800], ["Coffee", 31], ["xiaomi6", 2499], ["Book", 60], [&qu…

长文解析:作为容器底层技术的半壁江山, cgroup如何突破并发创建瓶颈?

简介: io_uring 作为一种新型高性能异步编程框架,代表着 Linux 内核未来的方向,当前仍处于快速发展中。阿里云联合 InfoQ 发起《io_uring 介绍及应用实践》的技术公开课,围绕 OpenAnolis 龙蜥社区 Anolis OS 8 全方位解析高性能存…

Orion:谷歌的新一代SDN控制器

作者 | 魏煌松来源 | 鲜枣课堂时至今日,谷歌在2015年公布的成果,“利用SDN将广域网带宽利用率提升至接近100%”,仍然是SDN的一个标杆案列,也是难以逾越的巅峰。但事实上,当时使用的SDN控制器Onix,早已退出了…

移动云正式发布基于龙蜥 Anolis OS 的 BC-Linux V8.2 通用版操作系统

简介: 2020年12月CentOS项目组宣布CentOS 8将于2021年12月31日结束支持,这意味着从2022年开始,使用CentOS 8的用户,将无法得到来自官方的新硬件支持、bug修复和安全补丁。针对这一情况,移动云大云操作系统团队基于国内…

php _trait,php Trait的使用

1、php中的trait是啥?看上去既像类又像接口,其实都不是,Trait可以看做类的部分实现,可以混入一个或多个现有的PHP类中,其作用有两个:表明类可以做什么;提供模块化实现。Trait是一种代码复用技术&#xff0…

python业余项目_学会这8个优秀 Python 库用于业余项目,将大大减少程序员耗费的精力...

在数据库中即时保存数据:Dataset当我们想要在不知道最终数据库表长什么样的情况下,快速收集数据并保存到数据库中的时候,Dataset 库将是我们的最佳选择。Dataset 库有一个简单但功能强大的 API,因此我们可以很容易的把数据保存下来…

java 绘图

文章目录 Java绘图 Java绘图类 绘图颜色与画笔属性 设置颜色 设置画笔 绘制文本 显示图片 图像处理 1、放大与缩小 2、图像翻转 3、图像旋转 4、图像倾斜 End Java绘图 Java绘图是指在Java程序中创建和显示图形的过程。Java提供了许多类和方法来支持绘图。 Jav…

干掉讨厌的 CPU 限流,让容器跑得更快

简介: 让人讨厌的 CPU 限流影响容器运行,有时人们不得不牺牲容器部署密度来避免 CPU 限流出现。本文介绍的 CPU Burst 技术可以帮助您既能保证容器运行服务质量,又不降低容器部署密度。文章分为上下两篇,该文为上篇,下…

微弱信号检测_机动车检测线常用传感器介绍

机动车检测线中经常会运用到各种传感器,这些传感器相当于车辆检测系统的“眼睛”、“鼻子”和“耳朵”,通过台体装置和装在台体中的传感器,能够把车辆的性能数据转换成计算机系统能够识别的信号,供计算机处理和计算,最…

赋能开发者,英特尔发布oneAPI 2022工具包

英特尔发布了oneAPI 2022工具包。此次发布的最新增强版工具包扩展了跨架构开发的特性,为开发者提供更强的实用性和更丰富的架构选择,用以加速计算。 英特尔公司首席技术官、高级副总裁、软件和先进技术事业部总经理 Greg Lavender表示:“我十…

php 自带多进程,php多进程实现

php多进程实现PHP有一组进程控制函数(编译时需要–enable-pcntl与posix扩展),使得php能在nginx系统中实现跟c一样的创建子进程、使用exec函数执行程序、处理信号等功能。CentOS 6 下yum安装php的,默认是不安装pcntl的,因此需要单独编译安装&a…

Quick BI V4.0功能“炸弹”来袭,重磅推出即席分析、模板市场、企业微信免密登录等强势功能

简介: 2021年7月,Quick BI公共云版本迭代新功能:重磅推出即席分析、模板市场,分析门槛再降低;推出企业微信无缝对接,移动端类目个性配置及管理提升多端能力;数据建模配置交互升级至拖拽模式提升…