运维态高效处理应用崩溃

0 评论 134 浏览 0 收藏 13 分钟

应用崩溃是应用性能优化的重要问题,本文档介绍在运维态下通过APMS平台进行应用崩溃的标准化排查、分析、定位和修复闭环流程。

本原创文章帖发布在华为开发者联盟社区,欢迎开发者前往访问评论交流,更多与该内容相关讨论,请点击原帖查看:

资源采集API特性指导-华为开发者话题 | 华为开发者联盟

1.1 维态应用崩溃分析流程

应用崩溃是应用性能优化的重要问题,本文档介绍在运维态下通过APMS平台进行应用崩溃的标准化排查、分析、定位和修复闭环流程。

1.1.1 标准化排查流程

1.1.1.1 流程图

1.1.1.2 排查步骤

       步骤1 – APMS平台配置应用崩溃监控告警规则,设置监控时段、频率和触发条件。

       步骤2 – 通过故障预警或故障指标页面,筛选崩溃问题。

       步骤3 – 分析发生次数、影响设备数等关键信息,定位TOP问题。

       步骤4 – 通过堆栈深入分析崩溃原因。

       步骤5 – 根据修复建议优化代码,并验证修复效果,形成闭环。

1.1.2 指标监控与关键信息提取

1.1.2.1 故障分析页面总览

进入故障分析界面

筛选崩溃问题范围:在界面可以设置不同的筛选条件对崩溃问题进行个性化分析。筛选条件设置完成后点击“查询”,即可查看指定时间范围和条件下的三类指标数据的变化趋势,包括崩溃率、崩溃次数、崩溃设备数。

1.1.2.2 关键信息提取

您在分析崩溃问题时,需要重点关注问题详情页的以下信息:

筛选崩溃问题范围:

在异常分析区域可以设置不同的筛选条件对崩溃问题进行个性化分析。筛选条件设置完成后点击“查询”,即可查看指定时间范围和条件下的三类指标数据,包括崩溃率、崩溃次数、崩溃设备数以及维度分布。

1.1.2.3 关键指标说明

故障模块:发生崩溃的模块或组件,用于定位问题范围

发生次数(占比):崩溃问题发生的频率,帮助判断问题严重程度

影响设备数(占比):受影响的设备数量,评估问题影响面

1.2 APMS平台崩溃问题分析案例

1.2.1 APMS故障预警

1.2.1.1 告警总览

点击告警总览列表可以看到某一个时间段的所有告警概览,点击查看可以查看某一个告警的详细信息

1.2.1.2 告警规则配置

点击告警规则配置,可以根据自己的需要相应的配置

1.2.2 问题查看与聚类

在问题列表中,每个问题都是同一类问题的汇总。APMS 基于堆栈关键行进行准确的同类异常汇聚,将具有相同或相似崩溃堆栈的异常报告自动聚合成一个问题。点击“查看”进入问题详情页,查看问题详情。

1.2.2.1 聚类规则

相同根因类型:将具有相同故障根因的问题聚合在一起

相同故障模块:同一模块的崩溃问题会被归类

1.2.2.2 TOP问题查看

完成筛选后,开发者可进一步查看Top问题列表,在问题列表中,每个问题都是同一类问题的汇总。APMS平台会将具有相同特征ID的问题聚合成一个,并按照发生次数进行排序,开发者可高优处理top问题。点击“查看”进入问题详情页,近一步查看问题详情。

1.2.3 根因定位与分析

1.2.3.1 基础定位信息

1.2.3.1.1 故障分析页面总览

点击问题列表中的某个问题进入详情页后,APMS 将提供以下核心分析信息:包括错误类型、异常描述(Error Message)、故障模块(F1NAME)、分析报告、故障详情、堆栈信息、现场数据、符号表等数据,帮助您快速判断崩溃的基本属性和高效定位根因。

1.2.3.1.2 聚类数据

基于堆栈关键行和过滤筛选跳转聚类同类故障,帮助您评估问题的影响范围与严重程度。

1.2.3.2 AI分析

平台提供了AI分析日志的功能,会解析问题堆栈,并给出问题根因以及修复建议,协助您处理问题。

1.2.3.3 下钻分析

下钻分析(Drill-down是:一种从汇总的宏观数据出发,沿着特定维度层次逐步深入到更详细、更细颗粒度的数据层面,以探究数据变化原因和定位业务问题的分析方法。

下钻分析的核心逻辑是:将一个汇总的指标或表象问题,拆分成多个组成部分,然后挑出最关键的线索继续向下拆分,不断重复这个过程,直到定位到具体的根因

平台会根据聚类id或pathname(函数/so路径名称)进行聚类并筛选top应用版本,系统版本以及设备型号。您可据此重点关注问题高发的版本及设备,更精确的定位问题。

1.2.4 修复建议验证与闭环

1.2.4.1 分析报告

提供问题发生时的完整上下文,包括环境信息(设备型号、系统版本、ROM 版本、前后台状态等)、堆栈信息、日志文件,并基于分析结果给出修复建议,辅助您高效完成问题排查与闭环。

1.2.4.2 修复建议

根据平台解析出的堆栈轨迹和故障原因,参照优化建议定位问题代码,完成修复与验证。

1.2.5 基于Operation Analyze平台分析

OA平台是指IDE的Operation Analyzer 插件。在IDE上可以通过此插件查看到应用对应的故障数据,数据和APMS平台上一致,您在IDE上也可以使用相同的方式分析运维态的崩溃问题。

1.2.5.1 Operation Analyzer平台入口

打开DevEco后,在左侧可看到Operation Analyzer图标,点击后选择应用,再点击应用冻屏即可查看该类故障数据相关信息(如图所示的步骤)。

如果左侧没有出现Operation Analyzer平台图标,也可通过上方导航栏的视图窗口进入(如图所示的步骤)。

1.2.5.2 问题分析

Operation Analyzer平台问题查看:

开发者可自定义筛选条件筛选需要查看的问题,可点击列表下具体的问题进一步查看问题详情(如图所示基本的步骤①、②、③、④)。

Operation Analyzer平台问题详情:

平台的问题详情页同APMS平台功能相同,开发者可查看故障分析与修复建议排查问题。如果修复建议不能支撑解决,可近一步查看堆栈信息、上下文数据、符号表进行具体分析。

开发者也可以查看问题分布图表,定位问题高发的应用版本、设备型号与系统版本,辅助进一步分析。

Operation Analyzer关联离线符号表:

Operation Analyzer平台提供了堆栈还原的能力,可以通过上传符号表(.so/.map/.json文件)完成堆栈还原(已有符号表则不需要上传),辅助分析问题。

上传符号表:

Operation Analyzer关联代码:

堆栈还原后,Operation Analyzer平台可将故障处与项目代码相关联,点击故障处可跳转到对应源码中,可辅助开发者更高效的定位问题。

故障处源码:

1.2.5.3 问题修复

Operation Analyzer平台会给出故障分析与修复建议,开发者可根据修复建议修复问题代码(Best Practices为问题定位指导链接)。

本文由 @华为开发者联盟 授权发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!