tencent cloud

腾讯云可观测平台

动态与公告
产品动态
产品简介
产品概述
产品优势
基本功能
基本概念
应用场景
使用限制
购买指南
云产品监控
应用性能监控
终端性能监控
前端性能监控
云拨测
Prometheus 监控服务
Grafana 服务
事件总线
云压测
快速入门
监控概览
实例分组
云产品监控
应用性能监控
云拨测
云压测
Prometheus 监控服务
Grafana 服务
创建 Dashboard
事件总线
告警服务
云产品监控
云产品监控指标
控制台操作指南
云服务器监控组件
云产品监控对接 Grafana
故障处理
实践教程
应用性能监控
应用性能监控简介
接入指南
控制台操作指南
实践教程
参考信息
常见问题
终端性能监控
终端性能监控概述
控制台操作指南
接入指南
实践教程
前端性能监控
前端性能监控简介
控制台操作指南
接入指南
常见问题
云拨测
产品简介
控制台操作指南
常见问题
云压测
云压测概述
控制台操作指南
实践教程
JavaScript API 列表
常见问题
Prometheus 监控
Prometheus 监控简介
接入指南
控制台操作指南
实践教程
Terraform
常见问题
Grafana 服务
产品简介
控制台操作指南
Grafana 平台常用功能指引
常见问题
Dashboard
什么是 Dashboard
控制台操作指南
告警管理
控制台操作指南
故障处理
常见问题
事件总线
事件总线简介
控制台操作指南
实践教程
常见问题
报表管理
常见问题
腾讯云可观测平台常见问题
告警服务相关
一般性问题
监控图表相关
云服务器监控组件相关
动态阈值告警相关
云监控对接 Grafana 相关
文档阅读指南
相关协议
应用性能监控服务等级协议
APM 隐私协议
APM 数据处理和安全协议
前端性能监控服务等级协议
终端性能监控服务等级协议
云拨测服务等级协议
Prometheus 监控服务服务等级协议
Grafana 服务服务等级协议
云压测服务等级协议
云压测使用限制
Cloud Monitor Service Level Agreement
词汇表

启动监控

PDF
聚焦模式
字号
最后更新时间: 2024-05-14 12:36:06
启动监控需要使用 qapm-plugin 插件在编译期间进行插桩操作,默认插桩点为 Application 与 Activity 的各个生命周期。在 App SDK 统计默认的启动耗时为 Application 的 attachBaseContext 到第一个 Activity 的 onResume 结束。

前提条件

在 App 级别的 build.gradle 中配置了 qapm-plugin 插件。

配置步骤

1. 需要手动添加一个 Application 的子类,例如 BaseApplication(名称不作要求,子类可以不用实现任何方法,可以不用添加任何属性)。
2. 在 AndroidManifest.xml 文件的 application 的节点添加 android:name 属性,属性的 value 为“包名+Application 子类的类名”。




额外打点

如果想统计启动区间内的某些方法的耗时,则需要额外的打点,示例如下:



参见代码:
QAPM.beginScene(StageConstant.QAPM_APPLAUNCH, "xxx方法名", QAPM.ModeResource);
/**业务逻辑*/
QAPM.endScene(StageConstant.QAPM_APPLAUNCH, "xxx方法名", QAPM.ModeResource);
如果想自定义启动的结束点,则需要在第一个 Activity 调用 onResume 的20s内额外打点,示例如下:



参见代码:
/**
* 需要自定义结束点的用户需要在onResume之后的20s内,否则以APM的结束点为准
*/
QAPM.endScene(StageConstant.QAPM_APPLAUNCH, QAPM.ModeResource);

校验功能是否正常

每次启动后20s或者切换到后台,如打印以下日志,则代表启动指标数据上报成功。
检索 TAG: [plugin::114]



注意:
需要使用 qapm-plugin 插件进行插桩才可用,并且需要手动增加一个 Application 的子类。否则无效。
启动总耗时大于2.5s才会上报个例数据。
启动的问题数据可以在 终端性能监控 > 启动 > 问题列表 查看。

计算方式

冷启动:

应用自设备启动后或系统终止应用后的首次启动。
Android 计算方式:mainActivityOnResume_end - attachBaseContext_start。
iOS 计算方式:第一个页面首帧 UI 上屏时间 - 应用进程创建时间。

首次启动:

应用安装后第一次启动,是特殊的冷启动。
Android 计算方式:mainActivityOnResume_end - attachBaseContext_start
iOS 计算方式:第一个页面首帧 UI 上屏时间 - 应用进程创建时间。

热启动:

在进程及Activity实例还存在(iOS 是在应用在后台且存活)的前提下,应用切后台三分钟后,再次切回前台,定义为热启动。
Android 计算方式:activityOnResume_end - activityOnRestart_start。
iOS 计算方式:ApplicationDidBecomeActive - ApplicationWillEnterForeground。

启动耗时:

总启动耗时/总启动次数

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈