腾讯云可观测平台 启动

这篇说说腾讯云应用性能监控(RUM)启动监控模块的指标详情与查看方法,涵盖Android与iOS平台的冷启动、温启动及前后台切换耗时定义,并说明控制台中的指标分析、Span耗时分析与启动个例查询功能。 Android冷启动:区分默认冷启动、首次启动及预启动,耗时计算基于进程创建时间。 iOS冷启动:含默认冷启动与冷启动,并说明iOS 15预热数据过滤机制。 数据分析:支持P50/P90/P99指标及Span打点,用于。

相关产品
腾讯云可观测平台 产品页,含版本规格、价格与购买入口。

这篇说说了启动监控模块的各个指标详情以及如何在控制台查看各个指标。

一、Android

Android 启动监控的阶段耗时说明如下:

·默认冷启动

从进程创建到首个 Activity 首帧渲染完成时间。计算方式如下:

默认冷启动耗时 = 首个 Activity 的首帧渲染完成时间 – 进程创建时间

·冷启动

"cold_launch":即冷启动,从应用进程创建到启动页完成首次渲染,或者从进程创建到业务自定义启动结束点耗时,为了区别,通过标签"tag_normal_launch"来区分。计算方式如下:

冷启动耗时 = 落地页的首帧渲染时间或业务自定义启动结束点 – 进程创建时间

以下是冷启动的几个标识:

·"first_launch":属于[冷启动]中的一种特殊情况,即应用安装后的首次[冷启动],通过标签"tag_first_launch"来区分。

·"pre_launch":属于[冷启动]中的一种特殊情况,进程被非 launch activity 的事件所拉起,这个阶段称为预启动,预启动后,直接进入温启动阶段,通过标签"tag_pre_launch" 来区分。pre_launch 和 first_launch 可以同时存在。

·"normal_launch":属于[冷启动]中的一种情况,表示正常冷启动,即进程被 launch activity 的事件所拉起,通过标签"tag_normal_launch"来区分。这里要特别注意,normal_launch 是相对于 pre_launch 而言的,即 normal_launch 和 pre_launch 是互斥的。而 normal_launch 和 first_launch 是可以同时存在的。

总结:tag_first_launch 标识一次启动是不是首次启动,首次启动可以是 pre_launch 或者 normal_launch。

·温启动

"warm_launch":即温启动,不存在 active 的 Activity 的情况下,从 Activity 的打开到页面完成首次渲染,计算方式如下:

温启动耗时 = 首个 Activity 的首帧渲染完成时间 – 首个 Activity 的 onCreate 时间

二、iOS

·默认冷启动

从进程创建到首个 VC 的第一帧 UI 上屏耗时。计算方式如下:

默认冷启动耗时 = 首个 VC 的第一帧 UI 上屏时间 – App 进程创建时间

·冷启动

从进程创建到首个 VC 的第一帧 UI 上屏耗时,或者从进程创建到业务自定义启动结束点耗时。计算方式如下:

冷启动耗时 = 首个 VC 的第一帧 UI 上屏时间或业务自定义启动结束点 – App 进程创建时间

·App 进程创建时间:从进程的 processInfo 获取进程的启动时间。

·main 函数执行时间:业务调用相关接口主动打点。

·第一帧 UI 上屏时间:通过首个 CA::Transaction::commit 执行时间获取近似值。

启动上报默认包含3个打点(Span)信息。

·_RM_Cold_Launch:从进程创建到启动结束,和冷启动指标范围一致。

·_RM_Before_Main:从进程创建到全局变量初始化的时间。

·_RM_After_Main:从 main 函数执行时间到启动结束的时间。

注意:说明:

注意:由于 iOS 15引入了预热(prewarming)的特性,系统会在用户启动应用程序之前预先加载一些资源,以提高应用程序的启动速度。然而,这也会导致平台获取的应用程序启动耗时数据异常,因为预热过程并不是用户主动启动应用程序所需的时间。因此,为了保证数据的准确性,平台会过滤掉这类数据。iOS prewarming 的介绍可以参考 About the App launch sequence。

·前后台切换

应用前后台切换耗时指应用程序从用户操作(例如点击图标将应用切换到前台,或按下 Home 键将应用切换到后台)开始,到应用完成相应的界面渲染和数据处理,并达到可交互状态为止所经历的时间。计算方式如下:

前后台切换耗时 = applicationBecomeActive – applicationWillEnterForeground

·applicationWillEnterForeground:接收到 UIApplicationWillEnterForegroundNotification 通知时间。

·applicationBecomeActive:接收到 UIApplicationDidBecomeActiveNotification 通知时间前后台切换上报默认包含1个打点(Span)信息。

·_RM_App_Resume:同前后台切换,即为 applicationWillEnterForeground 到 applicationBecomeActive 的时间。

三、数据分析

以下内容以 iOS 启动耗时分析为例进行介绍,Android 可参考如下内容。

四、指标分析

平台支持平均值、P50、P90、P99等指标的查看及下钻分析,你可在 启动 > 指标分析 页面进行查看。

五、Span 耗时分析

用户可以通过 SDK 中的打点接口在启动阶段添加一些 Span 信息,用于监控及排查启动耗时的逻辑。

六、查询启动个例

启动个例面板支持通过特定的筛选条件搜索启动个例,以进行详细的耗时分析,你可在 启动 > 启动个例 页面进行查看。

赞 (0)
上一篇 5天前
下一篇 5天前