腾讯云终端性能监控SDK正式上线,为鸿蒙开发适配保驾护航

文章目录

背景

在2023年华为新品发布会上,鸿蒙系统的纯血版本被正式宣布,随之而来的是大量的应用开始进行鸿蒙的适配工作。到了2024年的开发者大会,鸿蒙系统的Beta版本也对开发者开放。目前,已有超过1500个位于手机应用Top5000的应用完成了鸿蒙的适配。在这样的大背景下,作为腾讯云终端性能监控平台,致力于创建一款好用且可靠的平台,为鸿蒙移动端的适配保驾护航。

监控能力介绍

目前腾讯云终端性能监控SDK主要针对稳定性方面进行监控,鸿蒙的崩溃类型主要分为三种

  • JsCrash(Js层未被处理的异常从而导致应用退出)

  • CppCrash(C/C++运行时的崩溃)

  • AppFreeze(用户在使用应用时会出现点击没反应、应用无响应等情况,其超过一定时间限制后即被定义为应用无响应)

    当发生上述的崩溃后,鸿蒙的dfx子系统会在下一次启动时通过hiAppEvent事件回调给到应用层进行处理。终端性能监控SDK会将相应的问题上报至平台后台进行堆栈翻译、问题聚合等处理,在控制台进行展示。

其中,JSCrash会上报问题堆栈、日志信息、现场数据(页面信息、前后台状态等)

CppCrash会上报问题堆栈、全量线程堆栈、日志信息、现场数据(页面信息、前后台状态等)

AppFreeze会上报问题堆栈、全量线程堆栈、日志信息、现场数据(页面信息、前后台状态)、eventHandler信息(查看是否多任务或者单任务卡死)、binder信息(查看是否是IPC通信导致的卡死)

具体分析思路

类型 解释 原理 检测时长
THREAD_BLOCK_6S 应用主线程卡死超时 应用的watchdog线程定期向主线程插入判活检测,并在自己线程插入超时上报机制。当判活检测超过3s没有被执行,会上报THREAD_BLOCK_3S警告事件;超过6s依然没有被执行,会上报THREAD_BLOCK_6S主线程卡死事件。两个事件匹配生成THREAD_BLOCK的应用无响应日志 前台应用:6s 后台应用 :3s * 5 + 6s = 21s
APP_INPUT_BLOCK 用户输入响应超时 用户点击应用的按钮时,输入系统会向应用侧发送点击事件,但超时未收到应用侧的响应反馈回执,则上报该故障。 5s
LIFECYCLE_TIMEOUT Ability生命周期切换超时 通过获取不同生命周期切换的过程,在生命周期切换开始的位置向watchdog线程插入超时任务,在生命周期切换完成之后移除超时任务,固定时间内未成功移除将上报故障。 Load:10s Active:5s Inactive:0.5s Terminate:10s Connect:3s Disconnect:0.5s Restart:5s Foreground:5s Background:3s

其中每一种类型的崩溃都会对应一份故障日志external_log文件,该文件类比NativeCrash的墓碑文件。终端性能监控SDK会将其上报到后台,可以在控制台通过附件下载的方式获取

如何接入

1.找到SDK:腾讯云终端性能监控

找到:使用指南 ,根据使用指南进行接入

相关推荐
数智工坊4 小时前
机器人运动控制:采样、优化与学习三大流派深度对比与实战
android·学习·机器人
故渊at6 小时前
第二板块:Android 四大组件标准化学理 | 第八篇:Service 后台执行实体与优先级
android·gitee·service·前台服务·后台服务
不爱吃糖的程序媛6 小时前
鸿蒙服务卡片实战:为新华字典应用添加桌面快捷查询卡片
华为·harmonyos
会Tk矩阵群控的小木6 小时前
安卓群控系统对于游戏工作室实战教程
android·运维·游戏·adb·开源软件·个人开发
qeen877 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
故渊at7 小时前
第二板块:Android 四大组件标准化学理 | 第九篇:BroadcastReceiver 事件分发与有序广播
android·gitee·broadcast·广播·动态注册·静态注册
JohnnyDeng948 小时前
【Android】Room 数据库高级用法与性能调优:从查询瓶颈到毫秒级响应
android·性能优化·kotlin·room
zeqinjie8 小时前
Flutter 折叠屏 iPad / 宽屏适配实践
android·前端·flutter
ab_dg_dp8 小时前
Android 17+ 提取 AIDL 生成 Java 文件的实用脚本
android·java·python