鸿蒙 线上问题定位:Operation Analyzer
在应用上架后,线上问题的定位和修复是运维阶段的核心工作。DevEco Studio的运维分析(Operation Analyzer)功能支持对已发布应用在使用过程中出现的崩溃、OOM、资源泄漏等问题进行定位分析,以及查看崩溃、卡顿、丢帧、能耗等异常问题的趋势和分布情况。
一、使用限制
| 限制 | 说明 |
|---|---|
| 地区 | 仅支持中国境内(港澳台除外) |
二、页面布局
2.1 打开方式
View → Tool Windows → Operation Analyzer
2.2 登录
点击Add account按钮,登录华为账号并授权后,可查看当前账号下应用异常情况。
2.3 菜单栏
| 区域 | 内容 |
|---|---|
| 1号区域 | 选择当前账号下存在的应用 |
| 2号区域(Reports) | Crash、OOM、APP Freeze、Resource Leak数据详情,定位具体问题 |
| 3号区域(Metrics) | Crash、Frame Loss、Launch、Battery Usage异常数据变化趋势 |
2.4 顶部筛选配置
| 筛选项 | 说明 |
|---|---|
| 时间 | 当天到最近一个月 |
| 应用版本 | 存在异常数据的应用版本 |
| 系统版本 | 存在异常数据的系统版本 |
| 设备类型 | 当前应用支持的设备类型 |
| 手机型号 | 存在异常数据的手机型号 |
| 发布类型 | 当前系统的发布类型 |
三、Reports(问题详情)
3.1 Crash分析
26.0.0 Beta1及以上版本
界面组成:
| 区域 | 说明 |
|---|---|
| 1号区域 | 崩溃问题列表 |
| 2号区域 | 问题特征id、故障指纹、设备型号、系统版本、发生时间、应用版本号、构建号 |
| 3号区域 | 通过故障指纹搜索具体崩溃事件 |
| 4号区域 | 关闭问题(关闭后置灰但不会删除) |
| 5号区域 | 分页切换不同异常点 |
| 6号区域 | 上半部分分布情况,下半部分可能原因和最佳实践 |
| 7号区域 | 崩溃事件详情页 |
详情页标签:
| 标签 | 说明 |
|---|---|
| Stack Info | 堆栈日志信息,支持堆栈还原,可跳转代码行 |
| Raw Stack | 原始堆栈(蓝色圆点=系统栈,绿色圆点=应用栈) |
| Symbolicated Stack | 还原后堆栈(需关联本地符号表或上传到云端) |
| Context Data | 崩溃现场数据(栈地址空间、寄存器、FD信息、页面跟踪) |
| Symbol Table | 云端符号表和本地关联符号表 |
堆栈还原操作:
关联本地符号表或将符号表上传到云端
点击右上角Select related project关联堆栈对应的工程
通过堆栈中超链接跳转到对应源码
26.0.0 Beta1以下版本
| 标签 | 说明 |
|---|---|
| Stack | 支持混淆代码还原,可跳转代码行 |
| System load | 崩溃时的CPU和内存信息(5.1.0 Release+) |
| FaultLog | 故障日志信息,支持符号表还原堆栈(5.1.0 Release+) |
3.2 OOM分析(26.0.0 Beta1+)
展示具体的内存溢出详情。
详情页标签:
| 标签 | 说明 |
|---|---|
| Stack Info | 内存溢出堆栈日志,支持还原和跳转 |
| Context Data | 页面跟踪信息 |
| Symbol Table | 云端/本地符号表,支持上传和关联 |
3.3 APP Freeze分析(26.0.0 Beta1+)
展示具体的应用冻屏详情。
详情页标签:
| 标签 | 说明 |
|---|---|
| Evidence Chain | 3s和6s主线程堆栈信息(蓝色=系统栈,绿色=应用栈) |
| Context Data | 堆栈信息、CPU信息、内存信息、热档位、页面跟踪 |
| Sampled Stack Logs | 采样栈原始和还原堆栈 |
| Symbol Table | 云端/本地符号表 |
3.4 Resource Leak分析(26.0.0 Beta1+)
展示具体的资源泄漏详情。
详情页标签:
| 标签 | 说明 |
|---|---|
| Evidence Chain | 主泄漏堆块和次泄漏堆块(含堆栈分配详情、堆栈树分配、火焰树、原始/还原堆栈) |
| Context Data | 现场数据信息 |
| Symbol Table | 云端/本地符号表 |
视图类型:
| 视图 | 说明 |
|---|---|
| 堆栈分配详情 | 显示分配调用栈 |
| 堆栈树分配 | 树形展示分配关系 |
| 火焰树 | 火焰图展示分配热点 |
| 原始/还原堆栈 | 支持符号还原 |
四、Metrics(趋势分析)
4.1 Crash分析
| 功能 | 说明 |
|---|---|
| Tab切换 | All、JsError、CppCrash、OOM、ProcessKill |
| 柱状图 | 不同维度在崩溃异常中的占比 |
| ProcessKill联动 | 点击柱状图,饼图展示具体时间段ProcessKill类型分布 |
4.2 Frame Loss分析(丢帧分析)
| 区域 | 说明 |
|---|---|
| 1号区域(丢帧总览) | <6帧、6-15帧、>15帧的连续丢帧率 |
| 2号区域(维度展示) | 按Page、Scenes维度展示丢帧异常率TOP N |
4.3 Launch分析(启动分析)
| 功能 | 说明 |
|---|---|
| Tab切换 | All、Cold Launch、Hot Launch |
| 折线图 | 整体耗时趋势 |
| AVG/P50/P75/P90/P99 | 各百分位耗时统计 |
| 柱状图 | 耗时异常上报量 |
| 阶段耗时 | 各启动阶段耗时详情 |
4.4 Battery Usage分析(能耗分析)
| 功能 | 说明 |
|---|---|
| 能耗概览 | 总能耗、前台能耗、后台能耗折线图 |
| 前台分布 | 前台能耗和耗电时长随Top 5设备器件分布 |
| 后台分布 | 后台能耗和耗电时长随Top 5设备器件分布 |
