Skip to main content

Bugly 名词解释

本章节对 Bugly 平台中涉及的监控项及其核心指标进行系统性解释。为便于建立心智地图,监控项按问题域划分为 通用概念、稳定性、内存、性能、资源、网络、用户行为与自定义、大模型 七大类。每一大类以总览表(监控项 / 英文名 / 功能描述 / 支持平台)开头,各项监控项随后直接列出其涉及的核心指标与专业术语。


通用概念

以下概念适用于所有监控项,是理解各项指标口径、标识与聚类方式的基础。

通用指标

名词英文名含义英文含义备注
启动次数Session Count统计周期内应用冷启动的总次数,从进程创建到进程退出计为一次启动Total number of cold-launch sessions within the period. Each session spans from process creation to process termination.分母;仅统计冷启动,不含热启动 / 温启动
联网设备数Active Devices统计周期内有数据上报的独立设备总数,按设备 ID 去重Total number of unique devices that reported data within the period, deduplicated by device ID.分母;按天统计即 DAU(日活跃设备数),按月统计即 MAU
联网用户数Active Users统计周期内有数据上报的独立用户总数,按用户 ID 去重Total number of unique users that reported data within the period, deduplicated by user ID.分母;按天统计即 DAU(日活跃用户数),按月统计即 MAU

时间相关

名词英文名含义英文含义备注
发生时间Event Time异常个例实际发生的时间点The time when an anomaly case actually occurred.由客户端 SDK 采集上报
上报时间Report Time平台收到异常个例上报的时间点The time when the platform received the anomaly case report.与发生时间之差反映上报延迟

标识相关

名词英文名含义英文含义备注
产品 IDProduct IDBugly 平台为其上的产品分配的唯一标识,平台通过此 ID 识别一个产品。对应 appidA unique identifier assigned by the Bugly platform to a product, used to identify and isolate data for that product. Corresponds to appid.每个 Bugly 产品有唯一的产品 ID
Bundle IDBundle IDBundle Identifier,即应用 ID,是应用的唯一标识Bundle Identifier — the unique identifier of the application.iOS/macOS 等 Apple 平台的 Application ID
用户 IDUser ID描述一个应用用户的唯一标识,具体含义由业务定义,具体值由业务通过 SDK 设置A unique identifier for an app user, whose meaning and value are defined and set by the business via the SDK.用于去重计算影响用户数
设备 IDDevice ID描述一台设备的唯一标识。业务可自行设置,或由 SDK 通过算法生成唯一 ID。SDK 生成的唯一 ID 会缓存到文件中,但设备卸载重装后需重新生成A unique identifier for a device. Can be set explicitly by the business, or auto-generated by the SDK via an algorithm. Auto-generated IDs are cached in a file, but a new ID will be regenerated after uninstall/reinstall.用于去重计算影响设备数
启动IDSession ID用来唯一标识一次启动,这里的一次启动是指从进程创建到进程死亡。如果是多进程的,启动ID 指主进程的 IDUniquely identifies a single launch — a launch spans from process creation to process termination. In multi-process apps, the Launch ID refers to the main process's ID.多进程场景下统一取主进程;与进程启动ID 区分
进程启动 IDProcess Launch ID唯一标识一个独立进程的一次从创建到死亡的整个过程。因 Android 等平台支持多进程,需要进程启动ID 来区分不同进程Uniquely identifies the complete lifecycle of a single independent process, from creation to termination. Required because platforms like Android support multiple processes, so a per-process ID distinguishes them.同一启动ID 下可能对应多个进程启动ID(主进程 + 子进程)
Issue IDIssue ID描述一个 Issue 的唯一标识,同一类异常个例聚合为同一个 IssueA unique identifier that represents an Issue — a group of similar anomaly cases clustered together.聚类维度因监控项而异(如崩溃按堆栈特征聚类)
消息 IDMessage ID描述一个异常个例的唯一标识,每个异常个例对应一个消息 IDA unique identifier for a single anomaly case.一个 Issue 下可包含多个消息 ID

问题聚类

名词英文名含义英文含义备注
出错堆栈Stack Trace异常个例上报的完整异常堆栈,包含所有调用帧信息The full exception stack trace reported for an anomaly case, including all call frames.同一个 Issue 的不同个例,完整出错堆栈可能差异较大(如不同线程、不同调用路径)
问题特征Issue Signature从出错堆栈中提取的、能够代表一类问题的关键堆栈片段。同一个 Issue 的所有个例,其问题特征是高度相似的The key portion of a stack trace that represents a class of issues. All cases within the same Issue share a highly similar signature.用于 Issue 聚类:系统通过比对问题特征判断多个异常个例是否属于同一类问题
问题列表Issue List针对某个监控项聚合出的 Issue 集合视图。用户可在列表中按指定字段(如发生次数、影响用户数、上报时间等)排序,快速定位该监控项的 Top 问题,作为问题排查的入口The aggregated collection view of Issues for a given monitoring item. Users can sort by a specified field (e.g. occurrence count, affected users, report time) to quickly locate the Top Issues of that monitoring item — the entry point for investigation.每个监控项对应一个独立的问题列表
问题详情Issue Detail从问题列表点击某个 Issue 后进入的详情页,集中展示该 Issue 的全部信息:包括 Issue 的处理状态(详见问题管理)、是否已提单跟进(提单状态),以及该 Issue 聚合了哪些具体的异常个例,并可逐条进入个例详情The detail page for a single Issue, reached by clicking an Issue in the Issue List. Displays all information about the Issue: its processing status (see Issue Management), whether a defect ticket has been filed (Ticket Status), and which specific anomaly cases it aggregates — each case can be drilled into via Case Detail.
个例详情Case Detail从问题详情点击某个异常个例后进入的详情页,展示该次具体异常上报的全部信息(如出错堆栈、异常名称、异常消息、出错进程 / 线程、设备与环境等,详见异常个例)。不同监控项的个例详情所包含的字段可能不同The detail page for a single anomaly case, reached by clicking a case in the Issue Detail. Displays all information of that specific exception report (stack trace, exception name, exception message, process / thread, device & environment, etc.; see Anomaly Case). Different monitoring items may present different fields in Case Detail.一个 Issue 可包含多个个例(消息 ID)
问题状态Issue StatusIssue 的处理状态,包含五种状态:未处理处理中已处理拒绝挂起The processing status of an Issue. Five states: Unresolved, In Progress, Resolved, Rejected, and Suspended.用于团队协作跟进 Issue 处理进度
提单状态Ticket StatusBugly 支持将 Issue 通过提单工具关联到缺陷管理平台(如 TAPD)的具体缺陷单。提单状态表示该 Issue 是否已提单,或对应缺陷单的状态Indicates whether an Issue has been linked to a ticket in a defect management platform (e.g. TAPD), and the current status of the linked ticket.便于与研发流程中的缺陷管理联动

异常个例

每个异常个例上报时,包含以下关键字段来描述该次异常的基本情况。其中 Issue ID、消息 ID 见 标识相关,出错堆栈见 问题聚类

名词英文名含义英文含义备注
Issue 类型Issue Type用于区分异常所属的技术栈类别,不同平台及语言下存在不同的细分类型。如 Android 有 JAVA_CRASHNATIVE_CRASHANR;iOS 有 CRASH_OBJCCRASH_SIGNALCRASH_MACH;HarmonyOS 有 JS_CRASHNATIVE_CRASH;跨端框架(Kuikly/Electron/ReactNative/小程序)有 JS_CRASHPROMISE_REJECTIONCategorizes the anomaly by its technical stack. Different platforms and languages have distinct types, e.g. JAVA_CRASH, NATIVE_CRASH, ANR, CRASH_OBJC, CRASH_SIGNAL, CRASH_MACH, JS_CRASH, PROMISE_REJECTION.
异常名称Exception Name异常的具体类型名或信号名,用于快速识别异常性质。如 Java 的 java.lang.NullPointerException(取自 Throwable.getClass().getName())、Native 的 SIGSEGV(SEGV_MAPERR)(取自信号 si_signo + 信号码 si_code)、OC 的 NSInvalidArgumentException(取自 NSException.name)、JS 的 TypeError(取自 Error.name)等The specific exception type or signal name, used for quick identification of the anomaly's nature. Examples: java.lang.NullPointerException, SIGSEGV(SEGV_MAPERR), NSInvalidArgumentException, TypeError. Source differs by stack: Throwable.getClass().getName(), signal si_signo + si_code, NSException.name, Error.name, etc.纯信号崩溃(如 SIGABRT)通常无对应异常类名
异常消息Exception Message异常发生时系统或运行时附带的详细描述信息,通常包含具体的错误原因和上下文数据。如 Failed to allocate a 32 byte allocation...(Java OOM)、Attempt to invoke virtual method... on a null object reference(Java NPE)、*** -[__NSArrayM objectAtIndex:]: index 5 beyond bounds [0 .. 4](NSException)。纯信号崩溃(如 SIGSEGV)通常无附带消息The detailed description attached to the exception, typically containing the specific error cause and contextual data. Example: Failed to allocate a 32 byte allocation with 1028800 free bytes.... Not all anomalies carry a message — pure signal crashes (e.g. SIGSEGV) typically have none.
出错进程Faulty Process发生该异常的应用进程名,多进程应用中用于区分异常发生在哪个进程The name of the application process where the anomaly occurred. In multi-process apps, this helps identify which process was affected.com.example.appcom.example.app:pushcom.example.app:webview
出错线程Faulty Thread发生该异常的线程名,用于判断异常发生在主线程还是子线程,对 ANR / 卡顿问题的定位尤为关键The name of the thread where the anomaly occurred. Critical for distinguishing main-thread vs. background-thread issues, especially for ANR/jank diagnosis.mainOkHttp DispatcherRxCachedThreadScheduler-1

设备与环境

info

设备与环境类字段用于聚合统计与趋势分析(如机型 / 版本 / 区域 / 网络分布等),帮助定位特定环境或人群下的问题,不会用于识别或追踪单个用户。相关采集遵循《个人信息保护法》及最小必要原则:

  • 涉及设备标识、位置、运营商等信息的采集,须在用户同意《隐私政策》后、且 SDK 初始化前进行;
  • 平台仅以聚合维度展示,不对单个用户做精准画像。
名词英文名含义英文含义备注
机型Device Model发生异常的设备的型号。Android 通常取 Build.MODEL 字段内容;iOS 通过 sysctlbyname 获取 hw.machineThe model of the device where the anomaly occurred. Android: typically Build.MODEL. iOS: hw.machine via sysctlbyname.
系统版本OS Version设备上运行的操作系统版本The version of the operating system running on the device.如 iOS 18.0、Android 14
厂商Manufacturer设备的生产厂商。Android 通常取 Build.MANUFACTURER / Build.BRAND;iOS 设备厂商一般为 Apple。为保护用户隐私,最新版 SDK 默认不再主动获取厂商信息,需在合规取得后由业务通过接口设置上报The device manufacturer. Android: Build.MANUFACTURER / Build.BRAND; iOS: typically Apple. Per privacy compliance, the latest SDK no longer proactively collects this; it should be set by the business after compliant acquisition.与"机型"配合使用,定位特定厂商 ROM / 适配问题
ROMROM设备运行的系统 ROM 版本或定制 ROM 标识,反映系统固件版本。Android 通常取 Build.DISPLAY / Build.ID;部分厂商有自定义 ROM 命名The system ROM version or custom ROM identifier, reflecting the firmware version. Android: Build.DISPLAY / Build.ID; some vendors use custom ROM naming.用于区分官方 ROM 与定制 ROM 下的表现差异
运行时架构Runtime Architecture应用运行时(进程 / APK)所采用的 CPU 指令集架构,如 arm64-v8aarmeabi-v7ax86_64。与原生崩溃的符号化解析直接相关The CPU instruction-set architecture of the running app (process / APK), e.g. arm64-v8a, armeabi-v7a, x86_64. Directly relevant to native crash symbolication.与"CPU 架构"区分:此处指应用构建的 ABI
CPU 架构CPU Architecture设备 CPU 的硬件架构,如 arm64armv7x86x86_64The hardware CPU architecture of the device, e.g. arm64, armv7, x86, x86_64.反映设备硬件能力,用于兼容性分析
渠道Channel应用的发布 / 分发渠道或来源标识,用于区分不同的上架市场、官网、内测、第三方渠道等版本The distribution / release channel or source identifier, used to distinguish versions from different app stores, official sites, internal tests, third-party channels, etc.用于按渠道维度追查问题来源与影响范围
场景Scene异常发生时的业务场景(如页面、功能模块、运行阶段)。由业务通过 SDK 主动打点上报The business scenario when the anomaly occurred (e.g. page, feature module, lifecycle stage), reported by the business via SDK instrumentation.用于还原问题上下文,辅助定位特定业务流程
国家/地区Country / Region设备所在的国家 / 地区,通常由网络 IP 或系统区域设置推断The country / region where the device is located, typically inferred from network IP or system locale.仅用于区域分布聚合分析,详见上方合规性说明
省份Province设备所在的省份(地区级行政区划)The province (subnational administrative division) where the device is located.仅用于区域分布聚合分析
城市City设备所在的城市The city where the device is located.仅用于区域分布聚合分析
运营商Carrier设备当前接入的移动网络运营商,如中国移动、中国联通、中国电信等The mobile network carrier the device is currently connected to, e.g. China Mobile, China Unicom, China Telecom.仅用于网络分布聚合分析

稳定性 Stability

稳定性监控关注导致应用异常终止或失去响应的事件,是 APM 最核心的能力域。

监控项英文名功能描述支持平台
崩溃Crash应用因未处理的异常或致命错误被操作系统强制终止的事件,实时捕获 Native 崩溃、未捕获异常、Signal 信号等。Android、iOS、HarmonyOS、Windows、Mac、AppleTV、Electron、游戏(Unity/UE)
ANRANR应用主线程因长时间阻塞未响应系统事件而导致的事件,监测主线程调用栈与调度时序定位根因。Android、iOS、Windows、Mac、AppleTV、Extension(iOS)
FreezeFreezeHarmonyOS 平台特有的稳定性问题,指应用主线程长时间无响应导致系统判定进程卡死的事件。HarmonyOS
OOMOOM应用因内存资源耗尽导致崩溃的事件,细分为 Java OOM、Native OOM、FD OOM 三类。Android
FOOMFOOMiOS / Apple 生态应用在前台运行时因内存占用过高被系统强杀(SIGKILL)的事件,无法被常规崩溃捕获机制发现。iOS、AppleTV、Extension(iOS)
错误Error应用运行过程中所有未导致进程退出的异常情况,包括主动上报的业务异常与前端技术栈异常。Android、iOS、HarmonyOS、Windows、Mac、AppleTV、Flutter、Kuikly、小程序、Electron、ReactNative
进程退出分析Exit Reason监控应用进程的各类退出事件,覆盖崩溃捕获机制无法覆盖的非异常退出场景,呈现退出整体画像。Android、iOS、HarmonyOS、AppleTV
MetricKitMetricKitApple 官方设备端性能与稳定性诊断框架(iOS 14+),自动采集 MXCrashDiagnostic 等系统诊断数据。iOS

崩溃

以下指标中,"统计周期" 指用户当前选择的统计粒度。例如选择"按天"查看时,每个数据点代表一天内的汇总值;选择"按小时"时,每个数据点代表一小时内的汇总值。

名词英文名含义英文含义备注
发生次数Event Count统计周期内崩溃事件被触发的总次数,同一设备多次崩溃各自计入Total number of crash events triggered within the period. Multiple crashes on the same device are each counted separately.分子
影响设备数Affected Devices统计周期内发生过至少一次崩溃的独立设备数,同一设备无论崩溃多少次计为 1Number of unique devices that experienced at least one crash within the period, deduplicated by device ID.分子
影响用户数Affected Users统计周期内遭遇过至少一次崩溃的独立用户数,同一用户无论多台设备计为 1 人Number of unique users who experienced at least one crash within the period, deduplicated by user ID.分子
启动次数Session Count统计周期内应用冷启动的总次数,从进程创建到进程退出计为一次启动Total number of cold-launch sessions within the period. Each session spans from process creation to process termination.分母;详见通用指标
联网设备数Active Devices统计周期内有数据上报的独立设备总数Total number of unique devices that reported data within the period, deduplicated by device ID.分母;详见通用指标
联网用户数Active Users统计周期内有数据上报的独立用户总数Total number of unique users that reported data within the period, deduplicated by user ID.分母;详见通用指标
设备崩溃率Device Crash Rate影响设备数 / 联网设备数,衡量崩溃波及设备的比例Percentage of active devices that experienced at least one crash: Affected Devices / Active Devices. Equivalent to 1 - Crash-Free Rate (device-level).对应 Firebase 的 1 - Crash-Free Users
用户崩溃率User Crash Rate影响用户数 / 联网用户数,衡量崩溃波及真实用户的比例Percentage of active users who experienced at least one crash: Affected Users / Active Users.以用户 ID 去重,区别于设备维度
次数崩溃率Session Crash Rate发生次数 / 启动次数,衡量每次启动发生崩溃的概率。因崩溃而终止的启动仍被计入分母Percentage of sessions that ended in a crash: Event Count / Session Count. Equivalent to 1 - Crash-Free Sessions (Firebase). Note: sessions terminated by a crash are still counted in the denominator.
平均每设备崩溃次数Avg. Crashes per Device发生次数 / 联网设备数,统计周期内平均每台设备发生崩溃的次数。注意此值可能大于 1(同一设备崩溃多次),不是百分比指标。Average number of crashes per active device within the period: Event Count / Active Devices. Note this value can exceed 1 when devices crash multiple times — it is not a percentage metric.反映崩溃频次密度;区别于设备崩溃率(衡量有多少比例的设备发生过崩溃)
设备维度 vs 用户维度

Bugly 同时提供设备和用户两个统计维度。同一人在两台手机上使用 App = 2 台设备、1 个用户。按设备统计更能反映崩溃在终端上的技术影响面,按用户统计更能反映对真实用户群体的影响。

与 Firebase 的差异:Firebase Crashlytics 中的 "Users" 实质是设备维度(一次应用安装 = 一个 User),因此其 Crash-Free Users 对应 Bugly 的设备崩溃率,而非用户崩溃率。使用多台工具的开发者请注意区分。

国际术语说明

国际主流 APM 工具(Firebase Crashlytics、Sentry、Bugsnag)普遍采用正向表述 Crash-Free Rate(无崩溃率),与 Bugly 的崩溃率互为补数:Crash-Free Rate = 1 - 崩溃率。业界以 Crash-Free Rate ≥ 99.5% 作为优质应用的参考基准。

ANR

不同平台对 ANR 的定义和检测机制有所不同:

平台ANR 定义 / 检测方式
Android系统原生 ANR:主线程对输入事件无响应超过 5 秒,或 BroadcastReceiver 的 onReceive() 超过 10 秒未执行完毕,系统弹出 ANR 对话框或终止进程。
iOS / AppleTV / ExtensioniOS 无原生 ANR 概念。Bugly 通过 RunLoop 观察者监测主线程阻塞,默认阈值 2 秒,超过即上报为 ANR 事件。功能等价于 Sentry 的 App Hangs 及 Apple Watchdog 终止的前置信号。
Mac与 iOS 机制类似,主线程阻塞时系统显示"转圈"光标。Bugly 通过主线程 RunLoop 监测上报,默认阈值 2 秒
WindowsWindows 无原生 ANR 概念。Bugly 监测 UI 线程消息泵阻塞,默认阈值 5 秒,超过后 Windows 会在标题栏显示"(未响应)"。
名词英文名含义英文含义备注
发生次数Event Count统计周期内 ANR 事件被触发的总次数Total number of ANR events triggered within the period.分子
影响设备数Affected Devices统计周期内发生过至少一次 ANR 的独立设备数,按设备 ID 去重Number of unique devices that experienced at least one ANR within the period, deduplicated by device ID.分子
影响用户数Affected Users统计周期内遭遇过至少一次 ANR 的独立用户数,按用户 ID 去重Number of unique users who experienced at least one ANR within the period, deduplicated by user ID.分子
设备 ANR 率Device ANR RateANR 影响设备数 / 联网设备数,衡量 ANR 波及设备的比例Percentage of active devices that experienced at least one ANR: Affected ANR Devices / Active Devices.
用户 ANR 率User ANR RateANR 影响用户数 / 联网用户数,衡量 ANR 波及真实用户的比例Percentage of active users who experienced at least one ANR: Affected ANR Users / Active Users.
次数 ANR 率Session ANR RateANR 发生次数 / 启动次数,衡量每次启动发生 ANR 的概率Percentage of sessions that ended in an ANR: Event Count / Session Count.
平均每设备 ANR 次数Avg. ANRs per DeviceANR 发生次数 / 联网设备数,平均每台设备发生 ANR 的次数,可能大于 1Average number of ANRs per active device: Event Count / Active Devices. Note this value can exceed 1 — it is not a percentage metric.反映 ANR 频次密度

分母(联网设备数、联网用户数、启动次数)的定义见通用指标

Freeze

名词英文名含义英文含义备注
发生次数Event Count统计周期内 Freeze 事件被触发的总次数Total number of Freeze events triggered within the period.分子
影响设备数Affected Devices统计周期内发生过至少一次 Freeze 的独立设备数,按设备 ID 去重Number of unique devices that experienced at least one Freeze within the period, deduplicated by device ID.分子
影响用户数Affected Users统计周期内遭遇过至少一次 Freeze 的独立用户数,按用户 ID 去重Number of unique users who experienced at least one Freeze within the period, deduplicated by user ID.分子
设备 Freeze 率Device Freeze Rate影响设备数 / 联网设备数,衡量 Freeze 波及设备的比例Percentage of active devices that experienced at least one Freeze: Affected Freeze Devices / Active Devices.
用户 Freeze 率User Freeze Rate影响用户数 / 联网用户数,衡量 Freeze 波及真实用户的比例Percentage of active users who experienced at least one Freeze: Affected Freeze Users / Active Users.
次数 Freeze 率Session Freeze Rate发生次数 / 启动次数,衡量每次启动发生 Freeze 的概率Percentage of sessions that ended in a Freeze: Event Count / Session Count.
平均每设备 Freeze 次数Avg. Freezes per Device发生次数 / 联网设备数,平均每台设备发生 Freeze 的次数,可能大于 1Average number of Freezes per active device: Event Count / Active Devices. Note this value can exceed 1 — it is not a percentage metric.反映 Freeze 频次密度

分母(联网设备数、联网用户数、启动次数)的定义见通用指标

OOM

名词英文名含义英文含义备注
发生次数Event Count统计周期内 OOM 事件被触发的总次数Total number of OOM events triggered within the period.分子
影响设备数Affected Devices统计周期内发生过至少一次 OOM 的独立设备数,按设备 ID 去重Number of unique devices that experienced at least one OOM within the period, deduplicated by device ID.分子
影响用户数Affected Users统计周期内遭遇过至少一次 OOM 的独立用户数,按用户 ID 去重Number of unique users who experienced at least one OOM within the period, deduplicated by user ID.分子
设备 OOM 率Device OOM RateOOM 影响设备数 / 联网设备数,衡量 OOM 波及设备的比例Percentage of active devices that experienced at least one OOM: Affected OOM Devices / Active Devices.
用户 OOM 率User OOM RateOOM 影响用户数 / 联网用户数,衡量 OOM 波及真实用户的比例Percentage of active users who experienced at least one OOM: Affected OOM Users / Active Users.
次数 OOM 率Session OOM RateOOM 发生次数 / 启动次数,衡量每次启动发生 OOM 的概率Percentage of sessions that ended in an OOM: Event Count / Session Count.
平均每设备 OOM 次数Avg. OOMs per DeviceOOM 发生次数 / 联网设备数,平均每台设备发生 OOM 的次数,可能大于 1Average number of OOMs per active device: Event Count / Active Devices. Note this value can exceed 1 — it is not a percentage metric.反映 OOM 频次密度

分母(联网设备数、联网用户数、启动次数)的定义见通用指标

FOOM

注意:FOOM 是基于启发生命周期和内存数据推断的,而非直接捕获系统 kill 事件,因此存在一定误报和漏报的可能。例如,用户在 App 前台时手动上滑杀死 App,可能被误识别为 FOOM。

名词英文名含义英文含义备注
发生次数Event Count统计周期内 FOOM 事件被触发的总次数Total number of FOOM events triggered within the period.分子
影响设备数Affected Devices统计周期内发生过至少一次 FOOM 的独立设备数,按设备 ID 去重Number of unique devices that experienced at least one FOOM within the period, deduplicated by device ID.分子
影响用户数Affected Users统计周期内遭遇过至少一次 FOOM 的独立用户数,按用户 ID 去重Number of unique users who experienced at least one FOOM within the period, deduplicated by user ID.分子
设备 FOOM 率Device FOOM RateFOOM 影响设备数 / 联网设备数,衡量 FOOM 波及设备的比例Percentage of active devices that experienced at least one FOOM: Affected FOOM Devices / Active Devices.
用户 FOOM 率User FOOM RateFOOM 影响用户数 / 联网用户数,衡量 FOOM 波及真实用户的比例Percentage of active users who experienced at least one FOOM: Affected FOOM Users / Active Users.
次数 FOOM 率Session FOOM RateFOOM 发生次数 / 启动次数,衡量每次启动发生 FOOM 的概率Percentage of sessions that ended in a FOOM: FEvent Count / Session Count.
平均每设备 FOOM 次数Avg. FOOMs per DeviceFOOM 发生次数 / 联网设备数,平均每台设备发生 FOOM 的次数,可能大于 1Average number of FOOMs per active device: FEvent Count / Active Devices. Note this value can exceed 1 — it is not a percentage metric.反映 FOOM 频次密度

分母(联网设备数、联网用户数、启动次数)的定义见通用指标

错误

错误监控在两类平台上有不同的定位和指标体系:

  • 原生平台(移动端 / 桌面端):错误主要指开发者主动上报的业务异常(通过 SDK 接口上报已捕获的异常,如 Java catch、C# 异常等),以及少量框架层面的脚本异常。指标与稳定性监控项一致,共用通用指标分母。
  • 跨端框架(Web 技术栈):错误主要指 JS 执行错误、Promise 未捕获异常、静态资源加载失败等前端技术栈异常。采用 PV 维度的统计方式,错误率与页面访问(PV)绑定。

原生平台

名词英文名含义英文含义备注
发生次数Event Count统计周期内错误事件被上报的总次数Total number of error events reported within the period.分子
影响设备数Affected Devices统计周期内发生至少一次错误的独立设备数,按设备 ID 去重Number of unique devices that reported at least one error within the period, deduplicated by device ID.分子
影响用户数Affected Users统计周期内发生至少一次错误的独立用户数,按用户 ID 去重Number of unique users who reported at least one error within the period, deduplicated by user ID.分子
设备错误率Device Error Rate影响设备数 / 联网设备数,衡量错误波及设备的比例Percentage of active devices that reported at least one error: Affected Error Devices / Active Devices.
用户错误率User Error Rate影响用户数 / 联网用户数,衡量错误波及真实用户的比例Percentage of active users who reported at least one error: Affected Error Users / Active Users.
次数错误率Session Error Rate发生次数 / 启动次数,衡量每次启动发生错误的概率Percentage of sessions that reported an error: Event Count / Session Count.
平均每设备错误次数Avg. Errors per Device发生次数 / 联网设备数,平均每台设备发生错误的次数,可能大于 1Average number of errors per active device: Event Count / Active Devices. Note this value can exceed 1 — it is not a percentage metric.反映错误频次密度

分母(联网设备数、联网用户数、启动次数)的定义见通用指标

跨端框架

跨端框架采用 Web 技术栈,错误率基于 PV(页面访问量)计算,而非设备或启动维度。错误率 = 发生错误的 PV 数 / 总 PV 数

Electron

Electron 应用分主进程和渲染进程,错误监控覆盖两大类场景:

错误类型英文名含义英文含义备注
JS 执行错误JS Error渲染进程中未被 try-catch 捕获的 JavaScript 运行时错误Uncaught JavaScript runtime errors in the renderer process, such as TypeError, ReferenceError, etc.
Promise 错误Promise RejectionPromise 中未被 .catch() 处理的 reject 异常Unhandled Promise rejections that were not caught by a .catch() handler.
JS 加载异常JS Load Error<script> 标签加载外部 JS 文件失败Failure to load an external JavaScript file via a <script> tag.
CSS 加载异常CSS Load Error<link> 标签加载外部 CSS 文件失败Failure to load an external CSS file via a <link> tag.
图片加载异常Image Load Error<img> 标签加载图片资源失败Failure to load an image resource via an <img> tag.
视频加载异常Video Load Error<video> 标签加载视频资源失败Failure to load a video resource via a <video> tag.
自定义错误Custom Error开发者通过 SDK 接口主动上报的业务异常Custom business errors actively reported via the SDK by developers, e.g. non-zero retcodes, business logic exceptions.
指标英文名含义英文含义备注
错误上报量Event Count统计周期内所有错误事件被上报的总次数Total number of all error events reported within the period.
渲染进程错误率Renderer Error Rate发生错误的 PV 数 / 总 PV 数Percentage of page views that encountered an error: Error PV / Total PV. Calculated at the PV level rather than device or session level.

Kuikly

Kuikly 框架具有双层架构(Native 容器层 + 跨端业务层),错误也分两层统计:

错误类型英文名含义英文含义备注
Native 层错误Native ErrorNative 容器层捕获的异常Exceptions caught in the native container layer, e.g. container initialization failures, bridge call exceptions.
跨端层错误JS Error跨端业务层的 JS 执行错误和 Promise 未捕获异常JS runtime errors and unhandled Promise rejections in the cross-platform business layer.
指标英文名含义英文含义备注
发生次数Event Count统计周期内错误事件的总次数Total number of error events within the period.
错误率Error Rate发生错误的 PV 数 / 总 PV 数Percentage of page views that encountered an error: Error PV / Total PV.

小程序

错误类型英文名含义英文含义备注
JS 执行错误JS Error小程序中未被捕获的 JavaScript 运行时错误Uncaught JavaScript runtime errors in the Mini Program.
Promise 错误Promise RejectionPromise 中未被处理的 reject 异常Unhandled Promise rejections not caught by a catch handler.
Ajax 请求异常Ajax Error网络请求失败(HTTP 状态码异常或超时)Failed network requests due to HTTP errors or timeouts.
指标英文名含义英文含义备注
错误上报量Event Count统计周期内所有错误事件被上报的总次数Total number of all error events reported within the period.
错误率Error Rate发生错误的 PV 数 / 总 PV 数Percentage of page views that encountered an error: Error PV / Total PV.

React Native

React Native 使用 JavaScript 运行时,错误监控聚焦于 JS 层面的异常:

错误类型英文名含义英文含义备注
JS 执行错误JS Error未被捕获的 JavaScript 运行时错误Uncaught JavaScript runtime errors not handled by a try-catch block.
Promise 错误Promise RejectionPromise 中未被处理的 reject 异常Unhandled Promise rejections not caught by a catch handler.
指标英文名含义英文含义备注
错误上报量Event Count统计周期内所有错误事件被上报的总次数Total number of all error events reported within the period.
错误率Error Rate发生错误的 PV 数 / 总 PV 数Percentage of page views that encountered an error: Error PV / Total PV.

进程退出分析

实现方式与退出原因分类

平台实现方式正常退出异常退出
Android通过系统接口 ActivityManager.getHistoricalProcessExitReasons()(Android 11+)读取 ApplicationExitInfo 数据REASON_EXIT_SELFREASON_USER_REQUESTEDREASON_USER_STOPPEDREASON_FREEZERREASON_SIGNALEDREASON_UNKNOWNREASON_OTHERREASON_CRASHREASON_CRASH_NATIVEREASON_ANRREASON_LOW_MEMORYREASON_MEMORY_LIMITERREASON_EXCESSIVE_RESOURCE_USAGEREASON_INITIALIZATION_FAILUREREASON_PERMISSION_CHANGEREASON_DEPENDENCY_DIEDREASON_PACKAGE_STATE_CHANGEREASON_PACKAGE_UPDATED
iOSBugly 自行判断实现,通过分析生命周期状态和现场信息综合推断退出原因用户退出、设备重启 / 升级、后台被杀ANR、Crash(可捕获)、FOOM、启动超时、其他

指标说明

名词英文名含义英文含义备注
正常退出次数Normal Count统计周期内应用进程正常退出的总次数(见上方分类表)Total number of normal process exits within the period (see classification table above).
异常退出次数Abnormal Count统计周期内应用进程异常退出的总次数(见上方分类表)Total number of abnormal process exits within the period (see classification table above).
上报设备数Reporting Devices统计周期内有退出分析数据上报的独立设备数,按设备 ID 去重Number of unique devices that reported exit analysis data within the period, deduplicated by device ID.不同于联网设备数,仅统计开启了退出分析并成功上报的设备
上报用户数Reporting Users统计周期内有退出分析数据上报的独立用户数,按用户 ID 去重Number of unique users that reported exit analysis data within the period, deduplicated by user ID.不同于联网用户数,仅统计开启了退出分析并成功上报的用户
采样说明

退出分析支持按比例采样,开发者可在 SDK 中配置采样率(如 10%),仅对采样命中的设备开启退出数据采集与上报,以控制性能开销和数据量。

MetricKit

crashDiagnostics

分母中的「启动次数」「活跃用户数」「活跃设备数」仅统计开启了 MetricKit 监控的对应维度,非全量通用指标

名词英文名含义英文含义备注
异常退出次数Abnormal Count统计周期内 MetricKit 上报的异常退出事件(MXCrashDiagnostic)总次数Total number of abnormal exit events (MXCrashDiagnostic) reported by MetricKit within the period.分子
异常退出设备数Affected Devices统计周期内发生至少一次异常退出的独立设备数,按设备 ID 去重Number of unique devices with at least one abnormal exit within the period, deduplicated by device ID.分子
异常退出用户数Affected Users统计周期内发生至少一次异常退出的独立用户数,按用户 ID 去重Number of unique users with at least one abnormal exit within the period, deduplicated by user ID.分子
启动次数Session Count统计周期内开启了 MetricKit 监控的冷启动总次数Total number of cold-launch sessions with MetricKit monitoring enabled within the period.分母
活跃设备数Active Devices统计周期内开启了 MetricKit 监控且有数据上报的独立设备数Number of unique devices with MetricKit monitoring enabled that reported data within the period, deduplicated by device ID.分母
活跃用户数Active Users统计周期内开启了 MetricKit 监控且有数据上报的独立用户数Number of unique users with MetricKit monitoring enabled that reported data within the period, deduplicated by user ID.分母
退出异常率Abnormal Exit Rate异常退出次数 / 启动次数Percentage of monitored sessions that experienced an abnormal exit: abnormal exit count / sessions with MetricKit.
设备异常退出率Device Abnormal Exit Rate异常退出设备数 / 活跃设备数Percentage of monitored devices that experienced an abnormal exit: affected devices / active devices with MetricKit.
用户异常退出率User Abnormal Exit Rate异常退出用户数 / 活跃用户数Percentage of monitored users that experienced an abnormal exit: affected users / active users with MetricKit.

性能 Performance

性能类监控关注应用的启动、页面加载与渲染、流畅度及专项资源表现,对应行业通用的 Mobile Vitals 概念,覆盖从启动到交互渲染的完整体验链路:App Starts(冷启动 / 温启动)→ Page Loads(TTID / TTFD 屏幕加载)→ Slow Frames(Slow / Frozen Frames 渲染)。

监控项英文名功能描述支持平台
启动App Starts自动采集应用从启动到首帧绘制完成的耗时数据,支持平均值、分位值与 Span 打点等扩展能力。Android、iOS、Mac、AppleTV、Flutter、小程序、Extension(iOS)
页面性能Page Loads自动采集页面加载与渲染的耗时数据,分原生页面性能、Web Vitals 和小程序性能三类。Android、iOS、AppleTV、Kuikly、小程序、Electron
卡顿Slow Frames应用界面渲染不流畅、丢帧或长时间未响应的现象,通过 FPS、挂起率与卡顿率衡量流畅度趋势。Android、iOS、HarmonyOS、Windows、Mac、AppleTV、Flutter、Extension(iOS)
白屏检测White Screen监控 Electron 渲染进程出现白屏的情况,通过采集页面截图和关键 DOM 节点信息判定是否发生白屏。Electron
运行性能SetData小程序的运行性能聚焦于 setData 调用的频次、耗时和数据量,是影响渲染性能的核心因素。小程序
进程性能Process PerformanceElectron 应用主进程、渲染进程和子进程三层架构的内存与 CPU 资源占用监控。Electron

启动

各平台启动耗时定义

不同平台对启动耗时的统计区间差异较大,按平台分别说明。平台基于上报的启动样本,提供平均值分位值(P50/P90/P99) 等统计方式。

自定义结束点:Android 支持 reportAppFullLaunch()、iOS 支持 endColdLaunch,业务可主动标记启动结束。若调用,则结束点取业务标记的时间;若未调用,则使用各平台默认的结束点。

Android

名词英文名含义英文含义备注
冷启动耗时Cold Duration起点 = 进程创建时间(API 24+ 使用 Process.getStartUptimeMillis());终点 = 业务自定义结束点(reportAppFullLaunch()),若无则取首个 Activity 首帧绘制完成Start = process creation (via Process.getStartUptimeMillis() on API 24+); end = custom endpoint if reportAppFullLaunch() is called, otherwise first Activity's first frame drawn.
温启动耗时Warm Duration起点 = Activity 打开(进程已存在但无活跃 Activity);终点 = 该 Activity 首帧绘制完成Start = Activity opened when process exists but no active Activity; end = that Activity's first frame drawn.
秒开率Instant Rate冷启动耗时 ≤ 阈值(默认 1 秒)的冷启动案例数占全部冷启动案例数的比例Percentage of cold start cases where duration ≤ 1s: Cold starts ≤ 1s / Total cold starts.

iOS

Mac、AppleTV、Extension(iOS)同 iOS 定义。

名词英文名含义英文含义备注
冷启动耗时Cold Duration起点 = 进程创建时间(iOS 14 及以下),或过滤 Prewarm 预启动后重新计算起止(iOS 15+);终点 = 业务自定义结束点(endColdLaunch),若无则取首帧 UI 上屏(首个 CA::Transaction::commitStart = process creation (pre-iOS 15) or Prewarm-adjusted start (iOS 15+); end = custom endpoint if endColdLaunch is called, otherwise first CA::Transaction::commit.
前后台切换耗时Resume Duration起点 = applicationWillEnterForeground;终点 = applicationBecomeActiveStart = applicationWillEnterForeground; end = applicationBecomeActive.
秒开率Instant Rate冷启动耗时 ≤ 阈值(默认 1 秒)的冷启动案例数占全部冷启动案例数的比例Percentage of cold start cases where duration ≤ 1s: Cold starts ≤ 1s / Total cold starts.

Flutter

名词英文名含义英文含义备注
启动耗时Launch Duration起点 = Native 层调用 onEnterFlutter(标记进入 Flutter 页面);终点 = 首帧渲染完成Start = onEnterFlutter called in native layer; end = first frame rendered.对应 MonitorType.launchMetric

小程序

名词英文名含义英文含义备注
程序启动耗时Launch Duration起点 = 用户点击打开小程序;终点 = 首屏渲染完成。中间包含包下载(首次启动)、JS 注入、首屏渲染等阶段Total time from user tapping to open the Mini Program to first screen rendered. Includes package download (first launch only), JS injection, and first screen rendering.
包下载耗时Package Download Duration首次启动时下载小程序代码包的耗时,非首次启动不触发Time spent downloading the Mini Program code package on first launch only.仅首次启动
JS 注入耗时JS Injection Duration小程序 JS 代码注入到执行环境并完成初始化的耗时Time spent injecting and initializing the Mini Program's JavaScript code into the runtime environment.
页面首次绘制FP页面首次有任何像素绘制的时间点,即用户首次看到页面变化的时刻(白屏结束)First Paint. The time when the page first renders any pixel to the screen, marking the end of the white screen.
页面首次内容绘制FCP页面首次有文本、图片等有意义内容绘制的时间点First Contentful Paint. The time when the page first renders any text, image, or other meaningful content to the screen.
页面最大内容绘制LCP页面最大可见内容元素(如大图、大段文本)完成绘制的时间点Largest Contentful Paint. The time when the largest visible content element (e.g. large image, text block) is fully rendered.

Span 与标签

启动过程中支持插入自定义 Span,将启动流程拆分为多个子阶段进行分段耗时分析:

名词英文名含义英文含义备注
SpanLaunch Span启动流程中的自定义子阶段耗时区间,通过 SDK 接口 startSpan / endSpan 标记起止A custom sub-phase duration within the launch process, delimited by startSpan/endSpan SDK calls. Supports parent-child hierarchy.iOS 默认包含 _RM_Cold_Launch_RM_Before_Main_RM_Initializer_2_Main_RM_After_Main
启动标签Launch Tag附着在启动数据上的自定义标识,用于按业务场景筛选启动数据A custom label attached to launch data, managed via addTag/removeTag, used to filter launches by business scenario.
自定义启动结束点Custom Launch Endpoint业务调用接口声明启动结束,替代默认的首帧绘制结束点A custom end point declared via endColdLaunch (iOS) / reportAppFullLaunch (Android), for when launch completion extends beyond first frame.适用于首页数据异步加载完成后才算启动完成的场景

页面性能

原生平台

基于 ViewController(iOS)/ Activity(Android)生命周期采集,聚焦原生页面渲染耗时。

支持平台:Android、iOS、AppleTV

与行业术语对齐(TTID / TTFD)

iOS 与 Android 的原生页面加载耗时,行业通用的 APM 术语统一称为 TTID(Time to Initial Display,首次内容展示时间)TTFD(Time to Full Display,完全显示时间)。Bugly 的「页面渲染耗时」对应 TTID,「页面加载耗时」(含自定义结束点)对应 TTFD。监控项名称仍保留为 Page Loads,TTID/TTFD 仅为指标级别名。

Industry alignment (TTID / TTFD): The industry-standard APM terminology defines native page-load timing as TTID (Time to Initial Display) and TTFD (Time to Full Display). Bugly's Page Render Duration maps to TTID, and Page Load Duration (with custom endpoint) maps to TTFD. The monitoring-item name remains Page Loads; TTID/TTFD are metric-level aliases only.

名词英文名含义英文含义备注
页面渲染耗时TTIDiOS:从 loadViewviewDidAppear 的耗时;Android:firstOnFocusChangedTime - onCreateTime,即页面构建开始到首次获得焦点iOS: time from loadView to viewDidAppear. Android: firstOnFocusChangedTime − onCreateTime — time from page build start to first focus gained. Equivalent to TTID.原生页面默认渲染耗时
页面加载耗时TTFD默认与渲染耗时相同。iOS 支持通过 endVCRender: 自定义结束时间;Android:若业务设置了 customLaunchEndTime 则使用自定义结束点,否则回退到焦点时间Same as render duration by default. iOS: supports custom endpoint via endVCRender:. Android: uses customLaunchEndTime if set by the business, otherwise falls back to focus time. Equivalent to TTFD.
秒开率Instant Rate页面渲染耗时 < 1 秒的页面加载次数占比Percentage of page loads where render duration < 1 second.
慢开率Slow Load Rate页面渲染耗时 > 3 秒的页面加载次数占比Percentage of page loads where render duration > 3 seconds.
跳出率Drop-off Rate页面打开过慢导致用户返回或杀进程的 PV 数 / 总的 PV 数。反映页面加载过慢导致用户流失的比例PVs where the page loaded too slowly and the user navigated back or killed the process / total PVs. Measures the rate of user abandonment due to slow page loading.与 Web Analytics 中的 Bounce Rate(单页会话占比)含义不同,此处专指因加载性能问题导致的用户跳出
Span 耗时Span Duration页面加载流程中自定义子阶段的耗时,通过 SDK 接口打点标记起止Duration of a custom sub-phase within the page load flow, delimited by SDK span APIs.支持自定义打点分段分析

小程序

基于小程序框架 Performance API 采集,指标偏向路由与渲染生命周期。

支持平台:小程序

名词英文名含义英文含义备注
路由切换耗时Transition DurationloadStart - navigateStartloadStart − navigateStart.页面开始加载到页面开始切换
初次渲染FRperformance.FR.durationFirst Render. Framework first render duration: performance.FR.duration.
页面首次绘制FPFP.startTime - loadStartFirst Paint. Time to first paint: FP.startTime − loadStart.白屏结束时刻
页面首次内容绘制FCPFCP.startTime - loadStartFirst Contentful Paint. Time to first contentful paint: FCP.startTime − loadStart.首屏内容可见时刻
页面最大内容绘制LCPLCP.startTime - loadStartLargest Contentful Paint. Time to largest contentful paint: LCP.startTime − loadStart.最大内容元素渲染完成
页面打开耗时Page Load DurationrenderEnd - navigateStart,等价于 Page.onReady - NavigationTotal page open time: renderEnd − navigateStart, equivalent to Page.onReady − Navigation.从路由导航开始到页面渲染完成的耗时

Electron

Electron 渲染进程支持两类页面性能指标:Web Vitals 和页面加载链路。

支持平台:Electron

Web Vitals

通过 webVitals 插件采集,页面隐藏时上报。

名词英文名含义英文含义备注
FCPFCP页面首次内容绘制时间First Contentful Paint. Time when the first text or image content is painted.
LCPLCP页面最大内容绘制时间Largest Contentful Paint. Time when the largest visible content element is painted.
CLSCLS页面累计布局偏移分数Cumulative Layout Shift. A score measuring visual layout stability — the sum of all unexpected layout shifts.0~1,越低越好
INPINP页面交互到下次绘制的延迟时间Interaction to Next Paint. The latency from user interaction to the next visual frame painted.

页面加载链路

通过 pagePerformance 插件采集,页面加载完成后上报。

名词英文名含义英文含义备注
DNS 时间DNS TimeDNS 域名解析耗时Time spent on DNS resolution.
TCP 时间TCP Time建立 TCP 连接耗时Time spent establishing the TCP connection.
SSL/TLS 时间TLS TimeSSL/TLS 握手耗时Time spent on the SSL/TLS handshake.
首字节时间TTFB请求发出到接收到首字节响应耗时Time to First Byte. Time from request sent to first byte of response received.
内容下载Content Download Time页面内容下载耗时Time spent downloading the page content.
DOM 解析耗时DOM Parse TimeDOM 解析耗时Time spent parsing the DOM.
资源下载Resource Download Time页面资源下载耗时Time spent downloading page resources.
首屏渲染耗时FR首屏完成渲染的时间First Screen Render. Time to first screen fully loaded.

Kuikly

Kuikly 页面性能按加载时序拆分为多个阶段,并提供基于首帧渲染耗时的秒开率指标。

支持平台:Kuikly

名词英文名含义英文含义备注
加载成功率Load Success Rate页面成功完成整个加载流程的次数 / 页面打开次数Number of pages that completed the full load flow / total pages opened.
资源加载耗时Resource Load Duration加载页面静态资源(图片、脚本、样式等)所消耗的耗时Time spent loading page static resources (images, scripts, styles, etc.).加载流程第一阶段
引擎加载耗时Engine Load TimeKuikly 引擎初始化及准备所消耗的耗时Time spent on Kuikly engine initialization and preparation.加载流程第二阶段
页面构建耗时Page Construction Time页面组件树构建所消耗的耗时Time spent building the page component tree.加载流程第三阶段
页面布局耗时Page Layout Time页面 UI 布局计算所消耗的耗时Time spent computing the page UI layout.加载流程第四阶段
首帧渲染耗时FR页面首帧从开始渲染到渲染完成的耗时First Frame Render Time. Time from first frame render start to completion.加载流程第五阶段;常用于计算秒开率
秒开率Instant Rate首帧渲染耗时 < 1 秒的页面打开次数占比Percentage of page opens where first frame render time < 1 second.反映用户感知的首屏速度
页面打开耗时Page Load Duration整个页面从触发打开到加载流程完成的总耗时Total time from page open trigger to load flow completion.加载流程总耗时,包含以上所有阶段

加载时序

页面打开的完整链路为:资源加载 → 引擎加载 → 页面构建 → 页面布局 → 首帧渲染,页面打开耗时为整个链路之和。

卡顿

卡顿 ≠ ANR / App Hangs(术语澄清)

Bugly 的「卡顿」(Slow Frames)专指界面渲染层面的不流畅——因帧率下降、丢帧导致的视觉卡顿,通过 FPS、挂起率、卡顿率衡量,对应行业通用的 Screen Rendering: Slow Frames / Frozen Frames 术语。

这与 ANR / App Hangs(主线程阻塞、应用无响应)是两个相互独立的监控项:ANR 衡量主线程长时间阻塞(见 ANR),卡顿衡量渲染丢帧。国际用户容易将 "Jank" 误解为 "App Hangs",请注意区分。

Slow Frames vs. ANR / App Hangs (clarification): In Bugly, Slow Frames refers specifically to rendering jank — visual stutter caused by frame drops (measured via FPS, hang rate, jank rate), equivalent to the industry-standard Screen Rendering: Slow Frames / Frozen Frames. It is a distinct monitoring item from ANR / App Hangs, which measures main-thread blocking / app unresponsiveness. The two are independent: ANR captures main-thread stalls, Slow Frames captures dropped frames.

流畅度指标

名词英文名含义英文含义备注
FPSFPS每秒画面刷新帧数。iOS:通过 CADisplayLink 监听 VSync 信号,计算每帧间隔与 16.66ms 的偏差,FPS = (1 − ∑t / T) × 60,其中 t 为每帧超出 16.66ms 的偏差值(帧耗时 ≤ 16.66ms 时 t = 0),T 为统计窗口的 wall clock 时长。高于 60 的数据归一化为 60。

示例:在 1 秒统计窗口(T = 1000ms)内,第 1 帧耗时 14ms(未超标,t₁ = 0),第 2 帧耗时 25ms(t₂ = 25 − 16.66 = 8.34ms),第 3 帧耗时 50ms(t₃ = 50 − 16.66 = 33.34ms)。∑t = 0 + 8.34 + 33.34 = 41.68ms,FPS = (1 − 41.68 / 1000) × 60 = 57.5。
Frames rendered per second. Measured by monitoring VSync signals: for each frame, compute how much it exceeds the 16.66ms refresh interval. FPS = (1 − ∑excess / T) × 60, where excess = max(0, frame_duration − 16.66ms) and T is the wall-clock duration of the monitoring window. Values above 60 are normalized to 60.

Example: In a 1s window (T = 1000ms), frame 1 takes 14ms (not exceeded, excess₁ = 0), frame 2 takes 25ms (excess₂ = 25 − 16.66 = 8.34ms), frame 3 takes 50ms (excess₃ = 50 − 16.66 = 33.34ms). ∑excess = 0 + 8.34 + 33.34 = 41.68ms, FPS = (1 − 41.68 / 1000) × 60 = 57.5.
值越高表示画面越流畅;高刷屏设备需归一化到 60 以避免 FPS 虚高
挂起率Hang Rate统计周期内,两帧刷新间隔超过阈值(默认 200ms)的累计时间占全部前台时长的比例。iOS 单位为 s/h(挂起秒数每小时),即挂起时长 / 前台总时长 × 3600The proportion of foreground time during which the frame refresh interval exceeded the threshold (default 200ms): total time of frame intervals > 200ms / total foreground time. iOS unit is s/h (×3600).阈值可通过 suspend_threshold_ms 调整

卡顿率相关指标

以下指标基于大卡监控的上报数据统计。分母中的「启动次数」「活跃设备数」「活跃用户数」并非通用指标中的全量数据,而是仅统计开启了卡顿(大卡)监控的启动、设备和用户。

名词英文名含义英文含义备注
卡顿次数Jank Count统计周期内大卡监控上报的卡顿事件总次数Total number of severe jank events reported by jank monitoring within the period.分子
启动次数Session Count统计周期内开启了卡顿(大卡)监控的冷启动总次数Total number of cold-launch sessions where jank monitoring was enabled within the period.分母;注意不是全量启动次数
卡顿率Jank Rate卡顿次数 / 启动次数,每次启动发生卡顿的概率Percentage of monitored sessions that experienced a jank: Jank Count / Session Count.
卡顿设备数Affected Devices统计周期内发生过至少一次卡顿的独立设备数,按设备 ID 去重Number of unique devices that experienced at least one jank within the period, deduplicated by device ID.分子
活跃设备数Active Devices统计周期内开启了卡顿(大卡)监控且有数据上报的独立设备总数Total number of unique devices with jank monitoring enabled that reported data within the period, deduplicated by device ID.分母;注意不是全量联网设备数
卡顿设备占比Device Jank Rate卡顿设备数 / 活跃设备数,衡量卡顿波及设备的比例Percentage of monitored devices that experienced at least one jank: Affected Jank Devices / Active Devices.
卡顿用户数Affected Users统计周期内遭遇过至少一次卡顿的独立用户数,按用户 ID 去重Number of unique users who experienced at least one jank within the period, deduplicated by user ID.分子
活跃用户数Active Users统计周期内开启了卡顿(大卡)监控且有数据上报的独立用户总数Total number of unique users with jank monitoring enabled that reported data within the period, deduplicated by user ID.分母;注意不是全量联网用户数
卡顿用户占比User Jank Rate卡顿用户数 / 活跃用户数,衡量卡顿波及真实用户的比例Percentage of monitored users who experienced at least one jank: Affected Jank Users / Active Users.
卡顿指标 vs 大卡监控

FPS 和挂起率是轻量聚合指标,反映整体流畅度趋势;卡顿率系列指标基于大卡监控的上报数据,分母仅覆盖开启了大卡监控的启动/设备/用户。大卡监控还提供单次卡顿事件的线程堆栈信息用于根因定位。

白屏检测

名词英文名含义英文含义备注
上报量Event Count统计周期内白屏检测事件被上报的总次数Total number of white screen detection events reported within the period.
白屏率White Screen Rate发生白屏的 PV 数 / 总 PV 数 × 100%Percentage of page views that resulted in a white screen: white screen PV / total PV × 100%.PV 维度计算

运行性能

名词英文名含义英文含义备注
setData 次数setData Count一次 PV 累计的 setData 调用次数Total number of setData calls within one PV.setData 是更新页面数据的核心 API
setData 耗时setData Duration一次 PV 累计的 setData 调用耗时Total time spent on setData calls within one PV.过高会导致页面卡顿
setData 数据大小setData Data Size一次 PV 累计的 setData 数据传输大小Total data size transferred via setData calls within one PV.数据量越大,渲染压力越大

进程性能

系统

名词英文名含义英文含义备注
系统内存占用System Memory Usage系统已使用的物理内存(GB)Physical memory used by the entire system, in GB.
系统内存占用率System Memory Rate系统已用内存占总内存的比例Percentage of total system memory in use.
系统 CPU 占用率System CPU Rate系统整体 CPU 使用率Overall CPU usage of the system.

主进程

名词英文名含义英文含义备注
主进程内存占用Main Process Memory主进程占用的物理内存(MB)Physical memory used by the main process, in MB.
主进程内存占用率Main Process Memory Rate主进程内存占系统总内存的比例Percentage of system memory used by the main process.
主进程 CPU 占用率Main Process CPU Rate主进程占用的 CPU 核数比例CPU cores percentage used by the main process.

渲染进程

名词英文名含义英文含义备注
渲染进程内存占用Renderer Memory所有渲染进程占用的物理内存(MB)Total physical memory used by all renderer processes, in MB.
渲染进程内存占用率Renderer Memory Rate渲染进程内存占系统总内存的比例Percentage of system memory used by renderer processes.
渲染进程 CPU 占用率Renderer CPU Rate所有渲染进程占用的 CPU 核数比例CPU cores percentage used by renderer processes.

子进程

名词英文名含义英文含义备注
子进程内存占用Child Process Memory所有子进程占用的物理内存(MB)Total physical memory used by all child processes, in MB.
子进程内存占用率Child Process Memory Rate子进程内存占系统总内存的比例Percentage of system memory used by child processes.
子进程 CPU 占用率Child Process CPU Rate所有子进程占用的 CPU 核数比例CPU cores percentage used by child processes.

内存 Memory

内存由以下按平台分别提供的独立专项子能力组成,每一项均可独立开启与查看:

子能力英文名功能描述支持平台
Java 内存泄漏Java Memory Leak自动检测 Activity/Fragment 等对象被异常持有、无法被 GC 回收的泄漏,并上报引用链。Android
Java 内存详情Java Heap SnapshotJava 堆达阈值时自动 dump hprof,后台智能分析泄漏对象、单个/密集大对象。Android
Native 内存详情Native AllocationHook 拦截内存分配/释放,PSS 或 VSS 达阈值时上报未释放的分配记录及调用栈。Android
FD 详情FDFD 数量达阈值时上报当前 FD 列表及未关闭 FD 的分配调用栈。Android
大图分析Large Image解码后 Bitmap 宽高超过承载 View 时自动收集上报,后台按 View 布局层次聚类。Android
VC 泄漏VC LeakUIViewController pop/dismiss/remove 后超时仍未释放时,自动上报创建调用栈与操作路径。iOS、Mac、AppleTV
内存详情Heap Snapshot触发条件下自动采集 hprof 堆转储与内存图,后台智能分析泄漏对象、大对象。iOS、Mac、AppleTV
大块内存分配Large Allocation单次内存分配超阈值时,分配前自动收集触发堆栈、业务场景与内存使用并上报。iOS、Mac、AppleTV
内存触顶High Memory物理内存达阈值触发上报,FOOM 的衍生功能(需先开启 FOOM)。iOS、Mac、AppleTV

Android

内存指标

名词英文名含义英文含义备注
PSSMax PSS进程生命周期内物理内存占用最大值(含按比例分摊的共享内存)Maximum Proportional Set Size — peak physical memory usage (including proportional share of shared memory) during the process lifecycle.默认仅主进程,子进程需单独配置
VSSMax VSS进程生命周期内虚拟内存占用最大值Maximum Virtual Set Size — peak virtual memory usage during the process lifecycle.
Java 堆Max Java Heap进程生命周期内 Java 堆内存峰值,totalMemory - freeMemoryPeak Java heap memory usage during the process lifecycle: totalMemory − freeMemory.

专项诊断

以下专项能力的分子(发生次数/影响设备数/影响用户数)统计的是该能力捕获到的个例,分母(联网设备数/联网用户数/启动次数)仅统计开启了该监控能力的对应维度,非全量通用指标

Java 内存泄漏

名词英文名含义英文含义备注
发生次数Event Count统计周期内内存泄漏事件被上报的总次数Total number of memory leak events reported within the period.分子
影响设备数Affected Devices统计周期内发生至少一次内存泄漏的独立设备数Number of unique devices with at least one memory leak event, deduplicated by device ID.分子
影响用户数Affected Users统计周期内发生至少一次内存泄漏的独立用户数Number of unique users with at least one memory leak event, deduplicated by user ID.分子
泄漏内存Leaked Memory Size单个泄漏个例中,泄漏对象所持有的 Retained Size(包含其间接持有的所有对象的总内存大小)The Retained Size of leaked objects in a single leak case — the total memory held by the leaked objects including all indirectly referenced objects.帮助评估泄漏对内存的实际影响量

Java 内存详情

名词英文名含义英文含义备注
发生次数Event Count统计周期内 Java 内存详情事件被上报的总次数Total number of Java heap snapshot events reported within the period.分子
影响设备数Affected Devices统计周期内触发 Java 内存详情的独立设备数Number of unique devices that triggered a Java heap snapshot, deduplicated by device ID.分子
影响用户数Affected Users统计周期内触发 Java 内存详情的独立用户数Number of unique users that triggered a Java heap snapshot, deduplicated by user ID.分子
联网设备数Active Devices统计周期内开启了 Java 内存详情监控且有数据上报的独立设备数Number of unique devices with Java heap snapshot monitoring enabled that reported data, deduplicated by device ID.分母;非全量联网设备

Native 内存详情

名词英文名含义英文含义备注
发生次数Event Count统计周期内 Native 内存详情事件被上报的总次数Total number of Native allocation tracker events reported within the period.分子
影响设备数Affected Devices统计周期内触发 Native 内存详情的独立设备数Number of unique devices that triggered a Native allocation tracker, deduplicated by device ID.分子
影响用户数Affected Users统计周期内触发 Native 内存详情的独立用户数Number of unique users that triggered a Native allocation tracker, deduplicated by user ID.分子

FD 详情

名词英文名含义英文含义备注
发生次数Event Count统计周期内 FD 详情事件被上报的总次数Total number of FD analysis events reported within the period.分子
影响设备数Affected Devices统计周期内触发 FD 详情的独立设备数Number of unique devices that triggered FD analysis, deduplicated by device ID.分子
影响用户数Affected Users统计周期内触发 FD 详情的独立用户数Number of unique users that triggered FD analysis, deduplicated by user ID.分子
疑似泄漏 FD 数量Suspected Leaked FD CountFD 触顶问题列表中,某个 fd_leak 个例中符合该 Issue 聚类调用栈特征的 FD 数量。触发 FD 触顶时 Bugly 采集所有 FD 的类型和分配堆栈,系统按 Issue 调用栈特征筛选匹配数。数值越大,该问题 FD 累积越多,泄漏风险越高For a given fd_leak case, the count of FDs matching the call stack signature of that Issue cluster. When FD ceiling triggers, Bugly captures all FDs with their types and allocation stacks, then filters and counts those matching the Issue's stack pattern. Higher values = more FD accumulation = greater leak severity.问题列表中的辅助诊断指标
FD 次数触顶率Session FD Ceiling Ratefd_leak 上报次数 / 开启 FD 触顶监控的次数Percentage of monitored sessions where FD count reached the threshold: fd_leak report count / sessions with FD monitoring enabled.
FD 设备触顶率Device FD Ceiling Ratefd_leak 去重设备数 / 开启 FD 触顶监控的活跃设备数Percentage of monitored devices where FD count reached the threshold: unique devices with fd_leak / active devices with FD monitoring enabled.
FD 人数触顶率User FD Ceiling Ratefd_leak 去重用户数 / 开启 FD 触顶监控的活跃用户数Percentage of monitored users where FD count reached the threshold: unique users with fd_leak / active users with FD monitoring enabled.

大图分析

名词英文名含义英文含义备注
发生次数Event Count统计周期内大图分析事件被上报的总次数Total number of large image analysis events reported within the period.分子
影响设备数Affected Devices统计周期内发生大图问题的独立设备数Number of unique devices with large image issues, deduplicated by device ID.分子
影响用户数Affected Users统计周期内发生大图问题的独立用户数Number of unique users with large image issues, deduplicated by user ID.分子
图片超标大小Excess Image Size解码后的 Bitmap 宽高超过承载 View 宽高的差值,反映图片过度解码的程度The degree to which a decoded Bitmap exceeds the dimensions of its containing View, reflecting the extent of excessive image decoding.帮助量化图片内存浪费的严重程度

iOS

Mac、AppleTV 同类能力参考 iOS 定义。

内存指标

名词英文名含义英文含义备注
前台内存峰值Foreground Memory PeakApp 在前台时物理内存(phys_footprint)的最大值。值越高发生 FOOM 概率越高,尤其 P99 趋势与 FOOM 率正相关Maximum physical memory (phys_footprint) while the app is in the foreground. Higher values strongly correlate with FOOM probability, especially P99.
后台内存峰值Background Memory PeakApp 退后台后最后采集的内存值。值越高在后台被系统回收的概率越高The last captured memory value after the app enters the background. Higher values mean higher risk of being killed by the system.进程内采集,相对系统真实值偏高,更多为参考

专项诊断

以下专项能力均支持按比例采样开启(非全量),分母中的「启动次数」「联网设备数」仅统计开启了该监控能力的对应维度,非全量通用指标

VC 泄漏

名词英文名含义英文含义备注
发生次数Event Count统计周期内 VC 泄漏事件被上报的总次数Total number of VC leak events reported within the period.分子
影响设备数Affected Devices统计周期内发生至少一次 VC 泄漏的独立设备数Number of unique devices with at least one VC leak, deduplicated by device ID.分子
影响用户数Affected Users统计周期内发生至少一次 VC 泄漏的独立用户数Number of unique users with at least one VC leak, deduplicated by user ID.分子
泄漏内存Leaked Memory Size单个泄漏 VC 的 Retained Size(包含其间接持有的所有对象的总内存大小)The Retained Size of a leaked ViewController — the total memory held including all indirectly referenced objects.帮助评估泄漏对内存的实际影响量

内存详情

名词英文名含义英文含义备注
发生次数Event Count统计周期内 内存详情事件被上报的总次数Total number of iOS heap snapshot events reported within the period.分子
影响设备数Affected Devices统计周期内触发 内存详情的独立设备数Number of unique devices that triggered an iOS heap snapshot, deduplicated by device ID.分子
影响用户数Affected Users统计周期内触发 内存详情的独立用户数Number of unique users that triggered an iOS heap snapshot, deduplicated by user ID.分子
启动次数Session Count统计周期内开启了 内存详情监控的冷启动总次数Total number of cold-launch sessions with iOS heap snapshot monitoring enabled within the period.分母;非全量启动次数
联网设备数Active Devices统计周期内开启了 内存详情监控且有数据上报的独立设备数Number of unique devices with iOS heap snapshot monitoring enabled that reported data, deduplicated by device ID.分母;非全量联网设备

大块内存分配

名词英文名含义英文含义备注
发生次数Event Count统计周期内大块内存分配事件被上报的总次数Total number of large memory allocation events reported within the period.分子
影响设备数Affected Devices统计周期内触发大块内存分配的独立设备数Number of unique devices that triggered large memory allocation, deduplicated by device ID.分子
影响用户数Affected Users统计周期内触发大块内存分配的独立用户数Number of unique users that triggered large memory allocation, deduplicated by user ID.分子
分配内存大小Allocated Memory Size单次大块内存分配所申请的内存大小The size of memory requested in a single large memory allocation event.帮助量化单次内存激增的严重程度

内存触顶

名词英文名含义英文含义备注
发生次数Event Count统计周期内内存触顶事件被上报的总次数Total number of high memory trigger events reported within the period.分子
影响设备数Affected Devices统计周期内触发内存触顶的独立设备数Number of unique devices that triggered high memory report, deduplicated by device ID.分子
影响用户数Affected Users统计周期内触发内存触顶的独立用户数Number of unique users that triggered high memory report, deduplicated by user ID.分子
启动次数Session Count统计周期内开启了内存触顶监控的冷启动总次数Total number of cold-launch sessions with high memory monitoring enabled within the period.分母;非全量启动次数
联网设备数Active Devices统计周期内开启了内存触顶监控且有数据上报的独立设备数Number of unique devices with high memory monitoring enabled that reported data, deduplicated by device ID.分母;非全量联网设备
设备触顶率Device High Memory Rate触发内存触顶的去重设备数 / 开启内存触顶监控的活跃设备数Percentage of monitored devices that triggered a high memory report: unique devices with high memory trigger / active devices with high memory monitoring.
用户触顶率User High Memory Rate触发内存触顶的去重用户数 / 开启内存触顶监控的活跃用户数Percentage of monitored users that triggered a high memory report: unique users with high memory trigger / active users with high memory monitoring.
次数触顶率Session High Memory Rate内存触顶上报告警次数 / 开启内存触顶监控的启动次数Percentage of monitored sessions that triggered a high memory report: high memory report count / sessions with high memory monitoring.

HarmonyOS

内存指标

名词英文名含义英文含义备注
PSSMax PSS进程生命周期内物理内存占用最大值(含按比例分摊的共享内存)Maximum Proportional Set Size — peak physical memory usage (including proportional share of shared memory) during the process lifecycle.
VSSMax VSS进程生命周期内虚拟内存占用最大值Maximum Virtual Set Size — peak virtual memory usage during the process lifecycle.
JS 堆Max JS Heap进程生命周期内 JS 堆内存占用最大值Peak JavaScript heap memory usage during the process lifecycle.

资源 Resource

资源监控覆盖应用运行时的 CPU、电量与流量占用,是竞品普遍较弱、Bugly 具差异化的能力域。

监控项英文名功能描述支持平台
资源泄漏Resource LeakHarmonyOS 各类系统资源未及时释放的统一监控,自动采集引用链与调用栈。HarmonyOS
CPUCPU采集进程 CPU 使用率,衡量进程 CPU 时间占设备总 CPU 能力的比例,适合跨设备横向对比。Windows
电量Battery采集应用运行期间的电流值与电池温度,并分析各耗电因素(CPU、流量、定位、Alarm、WakeLock 等)的消耗。Android
流量Traffic统计应用运行期间消耗的网络数据量,支持进程维度、时间维度与自定义场景维度分析及流量异常检测。Android、iOS、Mac、AppleTV

资源泄漏

名词英文名含义英文含义备注
发生次数Event Count统计周期内资源泄漏事件被上报的总次数Total number of resource leak events reported within the period.分子
影响设备数Affected Devices统计周期内发生至少一次资源泄漏的独立设备数Number of unique devices with at least one resource leak, deduplicated by device ID.分子
影响用户数Affected Users统计周期内发生至少一次资源泄漏的独立用户数Number of unique users with at least one resource leak, deduplicated by user ID.分子
启动次数Session Count统计周期内开启了资源泄漏监控的冷启动总次数Total number of cold-launch sessions with resource leak monitoring enabled within the period.分母;非全量启动次数
联网设备数Active Devices统计周期内开启了资源泄漏监控且有数据上报的独立设备数Number of unique devices with resource leak monitoring enabled that reported data, deduplicated by device ID.分母;非全量联网设备

CPU

名词英文名含义英文含义备注
CPU 使用率CPU Usageprocess_cpu_time_delta / total_cpu_capacity_delta,即进程 CPU 时间增量占设备总 CPU 能力增量的比例(或平台等价口径)process_cpu_time_delta / total_cpu_capacity_delta — the ratio of process CPU time delta to total device CPU capacity delta (or platform-equivalent computation).跨设备横向可比,不受设备性能差异干扰
进程 CPU 使用率Process CPU Usageapp_cpu_core_usage / cpu_cores × 100%。先得到"核"单位的 app_cpu_core_usage(异常判定主指标),再除以在线核数并乘以 100%app_cpu_core_usage / cpu_cores × 100%. First computes app_cpu_core_usage in core units, then divides by online core count.百分比(0~100)
线程 CPU 使用率Thread CPU UsageAndroid:thread_cpu_time_delta / wall_time_delta,其中 thread_cpu_time_delta 取自 /proc/[pid]/task/[tid]/stat 两次采样的 utime + stime 之差(单位 jiffies),wall_time_delta 为两次采样的单调时钟差;iOS:thread_basic_info.cpu_usage / TH_USAGE_SCALE × 100(TH_USAGE_SCALE = 1000)Android: thread_cpu_time_delta / wall_time_delta, where thread_cpu_time_delta is the difference of utime + stime from two samples in /proc/[pid]/task/[tid]/stat (unit: jiffies). iOS: thread_basic_info.cpu_usage / TH_USAGE_SCALE × 100 (TH_USAGE_SCALE = 1000).百分比(0~100)

异常分析

CPU 异常分析以"进程 CPU 占用核数异常"为统一判定口径。分母中的「联网用户数」「联网设备数」仅统计已开启 CPU 异常监控且有网络上报的活跃维度。

异常判定

名词英文名含义英文含义备注
进程 CPU 异常Process CPU Anomalyapp_cpu_core_usage 超过业务场景对应阈值并连续命中 cpu_abnormal_times 次后触发Triggered when app_cpu_core_usage exceeds the scenario-configured threshold consecutively for cpu_abnormal_times times.主指标为 CPU 占用核数,阈值与连续命中次数按场景可配

异常指标

名词英文名含义英文含义备注
发生次数Event Count统计周期内 CPU 异常事件的总次数Total number of CPU anomaly events within the period.分子
影响用户数Affected Users统计周期内触发 CPU 异常的去重用户数,按 account_id 去重Number of unique users who triggered a CPU anomaly within the period, deduplicated by account_id.分子
异常用户占比Affected User Rate影响用户数 / 已开启 CPU 异常监控的联网用户数 × 100%Percentage of monitored users who triggered a CPU anomaly: affected users / active users with CPU anomaly monitoring × 100%.
影响设备数Affected Devices统计周期内触发 CPU 异常的去重设备数,按设备 ID 去重Number of unique devices that triggered a CPU anomaly within the period, deduplicated by device ID.分子
异常设备占比Affected Device Rate影响设备数 / 已开启 CPU 异常监控的联网设备数 × 100%Percentage of monitored devices that triggered a CPU anomaly: affected devices / active devices with CPU anomaly monitoring × 100%.

电量

指标

名词英文名含义英文含义备注
前台电流值Foreground CurrentApp 在用户前台使用期间的平均电流值Average current (mA) while the app is in the foreground.反映前台功耗水平
电池温度Battery TemperatureApp 运行期间的电池温度Battery temperature during app runtime.

耗电因素

CPU

名词英文名含义备注
整机 CPU 时间Total CPU Time整机的 CPU 时间(total_cpu_time_in_ms整型,单位 ms
进程 CPU 时间Process CPU Time进程的 CPU 时间(process_cpu_time_in_ms整型,单位 ms
CPU 核数CPU Cores设备的 CPU 核心数(cpu_cores整型
采集场景Scene电量数据采集的场景标识(scene字符串

流量

名词英文名含义备注
进程总流量Total Traffic进程消耗的总流量(traffic_in_byte单位 byte
前台流量Foreground Traffic进程前台消耗的流量(traffic_foreground_in_byte单位 byte
后台流量Background Traffic进程后台消耗的流量(traffic_background_in_byte单位 byte

定位

名词英文名含义备注
定位次数Location Frequency获取定位的总次数(location_frequency整型
定位时长Location Duration获取定位的总时长(location_duration_in_ms整型,单位 ms

AlarmManager

名词英文名含义备注
Alarm 总次数Alarm FrequencyAlarm 设置总次数(alarm_frequency整型
WakeUp Alarm 次数WakeUp Alarm Frequencywake_up 类型 Alarm 的设置总次数(alarm_wake_up_frequency整型
其他 Alarm 次数Other Alarm Frequency其他类型 Alarm 的设置总次数(alarm_other_frequency整型

WakeLock

名词英文名含义备注
WakeLock 获取次数WakeLock FrequencyWakeLock 获取总次数(wake_lock_frequency整型
WakeLock 持有时长WakeLock DurationWakeLock 持有总时长(wake_lock_duration_in_ms整型,单位 ms

其他

名词英文名含义备注
进程存活时长Process Alive Duration进程从创建到退出的存活时长
用户使用时长User Usage Duration应用在前台的时长

异常分析

电量异常本质上是对各耗电因素进行阈值判断:SDK 结合配置下发规则,当耗电因素超过阈值时判定为异常个例,采集数据上报。

异常指标

名词英文名含义英文含义备注
异常次数Abnormal Count统计周期内电量异常事件被上报的总次数Total number of battery anomaly events reported within the period.分子
异常设备数Affected Devices统计周期内发生至少一次电量异常的独立设备数Number of unique devices with at least one battery anomaly, deduplicated by device ID.分子
次数异常率Session Anomaly Rate异常次数 / 次数样本量Percentage of sampled sessions that reported a battery anomaly: abnormal count / session sample size.
设备异常率Device Anomaly Rate异常设备数 / 设备样本量Percentage of sampled devices that reported a battery anomaly: affected devices / device sample size.
次数样本量Session Sample Size统计周期内开启了电量监控的采样次数Total number of sampled sessions with battery monitoring enabled within the period.分母
设备样本量Device Sample Size统计周期内开启了电量监控的采样设备数Total number of sampled devices with battery monitoring enabled within the period, deduplicated by device ID.分母

异常判断规则

异常分为两种类型:

  • 单次超阈值:单次事件超过配置阈值即判定为异常
  • 累计超阈值:统计周期内累计超过阈值,包括累计次数和累计时长
配置项说明默认值
定位单次使用最长时长定位单次使用多久当作异常上报120 秒
定位 N 分钟内获取次数定位 N 分钟内使用几次当作异常上报(默认 N=4)4 次
定位 N 分钟内查询时长定位 N 分钟内使用多久当作异常上报(默认 N=4)240 秒
WakeLock 单次持有时长WakeLock 单次持有多久当作异常上报5 秒
WakeLock N 分钟内获取次数WakeLock N 分钟内获取几次当作异常上报(默认 N=240)240 次
WakeLock N 分钟内持有时长WakeLock N 分钟内持有多久当作异常上报(默认 N=240)120 秒
Alarm(wake_up 类型)10 分钟内唤醒次数Alarm(wake_up 类型)10 分钟内唤醒几次当作异常上报5 次
Alarm 10 分钟内唤醒次数Alarm 10 分钟内唤醒几次当作异常上报10 次

流量

流量类型

名词英文名含义英文含义备注
单次进程流量Per-Process Traffic一个进程在一次运行(从创建到退出)中所消耗的网络数据总量Total network data consumed during a single process lifecycle, from creation to termination.
10 分钟流量10-Min Traffic命中采样的设备在 10 分钟监控周期内消耗的网络数据总量Total network data consumed within a 10-minute monitoring window on sampled devices.采样维度,按 10 分钟窗口聚合
自定义场景流量Custom Scene Traffic业务关注的特定场景下的单次进程流量或 10 分钟流量Per-process or 10-min traffic scoped to a business-defined scenario.

流量异常分析

名词英文名含义英文含义备注
异常次数Abnormal Count统计周期内流量异常事件被上报的总次数Total number of abnormal traffic events reported within the period.分子
异常率Abnormal Traffic Rate异常上报量 / 统计周期内采样总上报量。10 分钟流量维度只支持时间范围 + App 版本筛选Percentage of sampled reports that were abnormal within the period: abnormal report count / total sampled report count. For 10-min traffic, only time range and app version filters are supported.
异常流量Abnormal Traffic Volume统计周期内被判定为异常的流量数据量Amount of traffic data identified as abnormal within the period.
影响用户数Affected Users统计周期内流量异常影响的独立用户数,按用户 ID 去重Number of unique users affected by abnormal traffic within the period, deduplicated by user ID.分子
影响用户率Affected User Rate异常影响用户数 / 统计周期内采样总上报用户数。10 分钟流量维度可用Percentage of sampled users affected by abnormal traffic within the period: abnormal affected users / total sampled report users. Available for 10-min traffic.
影响设备数Affected Devices统计周期内流量异常影响的独立设备数,按设备 ID 去重Number of unique devices affected by abnormal traffic within the period, deduplicated by device ID.分子
影响设备率Affected Device Rate异常影响设备数 / 统计周期内采样总上报设备数。10 分钟流量维度可用Percentage of sampled devices affected by abnormal traffic within the period: abnormal affected devices / total sampled report devices. Available for 10-min traffic.

网络 Network

网络监控同时按平台与指标视角拆分:HTTP(单请求质量:耗时、成功率、各阶段耗时)与 流量(聚合消耗与异常检测)覆盖原生平台;接口监控(API 请求成功率 / 错误 / 阶段耗时)与 静态资源(静态资源加载)覆盖跨端框架(Kuikly / 小程序 / Electron)。

监控项英文名功能描述支持平台
网络请求HTTP Requests通过拦截网络请求框架采集 HTTP 请求的耗时、成功率、传输数据量及各阶段耗时,分析网络质量。Android、iOS、Mac、AppleTV
网络错误HTTP Errors从网络请求中单独提取发生错误的请求(异常请求)进行分析,提供错误量、错误率、影响用户数与多维错误分布,帮助定位网络层问题。Android、iOS、Mac、AppleTV
接口监控API Calls自动采集跨端框架中 HTTP API 请求的成功率、错误原因和各阶段耗时,评估接口质量与性能。Kuikly、小程序、Electron
静态资源Static Resources自动采集跨端框架中图片、脚本、样式等静态资源的加载成功率、耗时和传输大小。小程序、Electron

网络请求

指标

请求量与成功率

名词英文名含义英文含义备注
上报量Event Count统计周期内发起 HTTP 请求的总次数Total number of HTTP requests initiated within the period.受网络分析采样率影响
用户数Active Users统计周期内发起 HTTP 请求的独立用户数,按用户 ID 去重Number of unique users who initiated HTTP requests, deduplicated by user ID.
设备数Active Devices统计周期内发起 HTTP 请求的独立设备数,按设备 ID 去重Number of unique devices that initiated HTTP requests, deduplicated by device ID.
成功率Success Rate成功的请求量 / HTTP 总请求量。返回 HTTP 状态码 200–299 判定为成功(符合 RFC 7231 对 2xx 成功的定义)。状态码为 0(请求未完成/被取消/网络中断)或 ≥ 300 均不计入成功Percentage of HTTP requests that succeeded: successful requests / total HTTP requests. HTTP status codes 200–299 are considered successful (per RFC 7231 §6.3). Status code 0 (request incomplete/cancelled/network failure) and ≥ 300 are not counted as success.3xx 重定向属于中间状态,不计入成功
错误量Event CountHTTP 请求中发生错误的请求量Total number of HTTP requests that resulted in an error.状态码 ≥ 400、状态码为 0 或其他网络异常
错误率Error Rate错误请求量 / HTTP 总请求量Percentage of HTTP requests that failed: error count / total HTTP requests.
失败用户数Failed UsersHTTP 请求失败的去重用户数Number of unique users who experienced at least one failed HTTP request, deduplicated by user ID.分子
失败设备数Failed DevicesHTTP 请求失败的去重设备数Number of unique devices that experienced at least one failed HTTP request, deduplicated by device ID.分子
失败用户占比Failed User Rate失败用户数 / 总用户数Percentage of users who experienced a failed request: failed users / active users.
失败设备占比Failed Device Rate失败设备数 / 总设备数Percentage of devices that experienced a failed request: failed devices / active devices.

耗时

名词英文名含义英文含义备注
请求时间Request Duration从开始建立连接到 response 接收完成的耗时Time from connection establishment start to response fully received.需考虑配置的网络请求超时上限
首包时间TTFB从请求开始到响应数据首字节到达的耗时Time to First Byte. Time from request start to the first byte of response data received.反映服务端响应速度
DNS 时间DNS TimeDNS 域名解析耗时Time spent on DNS resolution.
TCP 时间TCP Time建立 TCP 连接的耗时Time spent establishing the TCP connection.
SSL 时间TLS TimeSSL/TLS 握手耗时Time spent on SSL/TLS handshake.
发送时间Request Send Time请求数据开始发送到发送完成的耗时Time from request data sending start to completion.
等待时间Server Wait Time请求数据发送完成到响应数据开始接收的耗时Time from request data sending completed to response data start receiving.反映服务端处理时间
接收时间Response Download Time响应数据开始接收到接收完成的耗时Time from response data start receiving to completion.服务响应传输时间

数据量

名词英文名含义英文含义备注
请求字节数Request BytesHTTP 请求发送/上传的总数据量Total amount of data sent/uploaded in HTTP requests, in bytes.
接收字节数Receive BytesHTTP 请求接收/下载的总数据量Total amount of data received/downloaded in HTTP requests, in bytes.

链接复用

名词英文名含义英文含义备注
链接复用率Connection Reuse Rate链接复用的 HTTP 请求量 / HTTP 总请求量Percentage of HTTP requests that reused an existing connection: reused connection requests / total HTTP requests.值越高表示连接池利用率越好

慢请求

名词英文名含义英文含义备注
慢请求次数Slow Request Count请求总时间超过阈值的请求次数。默认阈值 5 秒,允许业务调整Number of requests whose total duration exceeded the threshold (default 5 seconds; configurable).帮助发现超时或弱网导致的慢请求

网络错误

从网络请求监控中,将发生错误的请求(异常请求)单独提取出来进行专项分析的能力。聚焦请求失败的原因(HTTP 状态码异常、网络中断、超时等),帮助快速定位网络层面的问题。

指标

错误量、错误率等指标口径与网络请求保持一致;用户相关指标以「上报用户数」为分母。

名词英文名含义英文含义备注
错误量Event Count网络请求中发生错误的请求量。判定口径与网络请求一致:HTTP 状态码 ≥ 400、状态码为 0(请求未完成/被取消/网络中断)或其他网络异常Total number of HTTP requests that resulted in an error. Same criteria as HTTP Requests: HTTP status ≥ 400, status 0, or other network anomalies.与网络请求中的"错误量"一致
错误率Error Rate错误请求量 / HTTP 总请求量Percentage of HTTP requests that failed: error count / total HTTP requests.
错误上报量Event Count统计周期内网络错误事件被上报的总次数Total number of network error events reported within the period.受网络分析采样率影响
影响用户数Affected Users统计周期内发生至少一次网络错误的独立用户数,按用户 ID 去重Number of unique users who experienced at least one network error within the period, deduplicated by user ID.分子
影响用户数占比Affected User Rate影响用户数 / 上报用户数 × 100%Percentage of reporting users affected by network errors: affected users / reporting users × 100%.
上报用户数Reporting Users统计周期内发起 HTTP 请求且有数据上报的独立用户数,按用户 ID 去重Number of unique users who initiated HTTP requests and reported data within the period, deduplicated by user ID.分母

错误列表

对发生错误的请求按 URL 进行聚类,将指向同一 URL 且错误特征相近的请求归并为一条错误记录,便于从海量错误中快速定位高频、集中的问题。点击某条错误记录可下钻查看其包含的具体错误请求,以及关键字段(如错误原因、HTTP 状态码、耗时等)。

错误分布

支持从多个维度查看网络错误的分布情况,帮助识别问题集中的人群或环境。典型维度包括:机型、系统版本、APP 版本,以及运营商、渠道、地域等(详见设备与环境)。

接口监控

Kuikly

支持平台:Kuikly

名词英文名含义英文含义备注
上报量Event Count统计周期内 API 请求的总次数Total number of API requests within the period.
错误上报量Event Count统计周期内 API 请求中发生错误的次数Number of API requests that resulted in an error within the period.
错误率Error Rate错误上报量 / 上报量Percentage of API requests that failed: error count / request count.
接口耗时API DurationAPI 请求的整体耗时。展示平均值和分位值Total duration of an API request. Displays average and percentile values.

Electron

Electron 平台将接口监控称为 API 监控

支持平台:Electron

名词英文名含义英文含义备注
上报量Event Count统计周期内 API 请求的总次数Total number of API requests within the period.
Ajax 异常数量Ajax Error CountAjax 请求因网络异常失败的数量Number of Ajax requests that failed due to network errors.HTTP 状态码异常或网络中断
Retcode 异常数量Retcode Error CountAjax 请求因业务返回码异常失败的数量Number of Ajax requests that failed due to business retcode errors.retCode != 0
成功率Success Rate成功请求量 / 上报量 × 100%Percentage of successful API requests: successful request count / total request count × 100%.
接口耗时API DurationAPI 请求的整体耗时,展示平均值和分位值Total duration of an API request. Displays average and percentile values.

小程序

支持平台:小程序

名词英文名含义英文含义备注
上报量Event Count统计周期内 API 请求的总次数Total number of API requests within the period.
错误上报量Event Count统计周期内 API 请求中发生错误的次数Number of API requests that resulted in an error within the period.
成功率Success Rate成功请求量 / 上报量 × 100%Percentage of successful API requests: successful request count / total request count × 100%.
接口耗时API DurationAPI 请求的整体耗时,展示平均值和分位值Total duration of an API request. Displays average and percentile values.

静态资源

小程序

支持平台:小程序

名词英文名含义英文含义备注
总上报量Event Count统计周期内静态资源加载的总次数Total number of static resource loads within the period.
失败上报量Failure Count统计周期内静态资源加载失败的次数Number of static resource loads that failed within the period.
成功率Success Rate成功加载量 / 总上报量Percentage of resource loads that succeeded: successful loads / total loads.
加载耗时Load Duration静态资源加载耗时,展示平均值和分位值Time spent loading a static resource. Displays average and percentile values.
传输大小Transfer Size静态资源传输数据量,展示平均值和分位值Amount of data transferred for a static resource. Displays average and percentile values.

Electron

支持平台:Electron

名词英文名含义英文含义备注
加载次数Event Count统计周期内静态资源加载的总次数Total number of static resource loads within the period.
加载失败次数Failure Count统计周期内静态资源加载失败的次数Number of static resource loads that failed within the period.
加载成功率Load Success Rate加载成功次数 / 加载次数Percentage of resource loads that succeeded: successful loads / total loads.
加载耗时Load Duration静态资源加载耗时,展示平均值和分位值Time spent loading a static resource. Displays average and percentile values.
传输大小Transfer Size静态资源传输数据量,展示平均值和分位值Amount of data transferred for a static resource. Displays average and percentile values.

用户行为与自定义

用户行为与自定义监控关注用户在应用内的访问与操作轨迹,以及开发者主动上报的业务指标。

监控项英文名功能描述支持平台
页面访问Page View统计跨端框架中各页面被打开的次数(PV)和访问人数(UV),为其他页面指标提供基准数据。Kuikly、小程序、Electron、ReactNative
会话追踪Traces记录用户从打开页面到关闭 / 跳转的完整会话过程,按时序采集页面浏览、操作、资源请求及错误等事件。Electron
自定义事件Custom Event开发者在业务代码中通过 SDK 主动上报自定义事件,平台提供 PV 和 UV 两个维度的聚合统计。Kuikly、小程序、Electron、ReactNative
自定义测速Custom Spans开发者通过 SDK 手动标记代码片段的起止时间上报耗时,平台提供上报量和事件耗时的聚合统计。Kuikly、小程序、Electron、ReactNative

页面访问

名词英文名含义英文含义备注
PVPV统计周期内页面被访问的总次数Page View. Total number of page views within the period.页面每次被访问/打开计为 1 次 PV
UVUV统计周期内访问页面的独立用户数,按用户 ID 去重Unique Visitor. Number of unique users who visited the page within the period, deduplicated by user ID.同一用户多次访问仅计 1 次 UV

会话追踪

名词英文名含义英文含义备注
会话上报量Event Count统计周期内会话被上报的总次数Total number of sessions reported within the period.
会话错误率Session Error RateError 数大于 0 的会话数 / 总会话数 × 100%Percentage of sessions that contained at least one error: sessions with error count > 0 / total sessions × 100%.
会话时长Session Duration单个会话从开始到结束的持续时长The elapsed time from session start to session end.支持平均值和分位值统计

自定义事件

名词英文名含义英文含义备注
PVPV统计周期内自定义事件被触发上报的总次数Total number of custom event reports within the period.每次上报计 1 次 PV
UVUV统计周期内触发该自定义事件的独立用户数,按用户 ID 去重Number of unique users who triggered the custom event within the period, deduplicated by user ID.同一用户多次触发仅计 1 次 UV

自定义测速

名词英文名含义英文含义备注
上报量Event Count统计周期内自定义测速事件被上报的总次数Total number of custom speed measurement events reported within the period.每次标记起止并上报计 1 次
事件时长Event Duration单次自定义测速的耗时,即业务标记的起点到终点的时间。展示平均值和分位值The elapsed time of a single custom speed measurement, from the business-defined start to end point. Displays average and percentile values.

大模型

新兴问题域,面向特定技术栈或场景的深度可观测能力。

监控项英文名功能描述支持平台
大模型可观测LLM Calls对 LLM 调用中的 SSE 流式协议进行全链路解析,从吞吐量、生成速度、响应稳定性、生成质量等多维度监控。Android

大模型可观测

指标

名词英文名含义英文含义备注
总对话次数Turn Count统计周期内大模型对话的总次数Total number of LLM turns within the period.基础计数指标
Token 吞吐率TPStoken 数 / 消息时间,token 数以字符字节数计算。展示平均值和 P50 分位值Token Throughput. Token count / message time. Token count is measured in character bytes. Displays average and P50 percentile.反映模型生成速度。

注意:受限于 SDK 无法获取 LLM 服务端真实 token 数,以字符字节数作为近似替代,与标准 BPE token 计数存在偏差(尤其中文场景差异较大),仅供参考。
首包时间TTFT从发起请求到接收到第一个 message 的耗时,单位 ms。展示平均值和 P50 分位值Time to First Token. Time from request initiation to receiving the first message, in milliseconds. Displays average and P50 percentile.反映模型首响应速度
错误率Error Rate发生过错误的会话次数 / 总对话次数 × 100%,配合错误次数展示Turns with errors / total turns × 100%, displayed alongside the error count.以会话为维度判定是否出错
卡死率Stuck Rate发生卡死的会话次数 / 总对话次数 × 100%,配合卡死次数展示。卡死判断标准:超过 60 秒未收到回复消息Stuck turns / total turns × 100%, displayed alongside the stuck count. Stuck = no response message received within 60 seconds.反映调用超时/无响应情况
流畅度Stream Smoothness衡量会话的流畅水平,100% 表示非常流畅,0% 表示非常不流畅。按 token 间间隔分区赋分:[0ms, 500ms) 得 1 分,[500ms, 1000ms) 得 1/2 分,[1000ms, 3000ms) 得 1/4 分,[3000ms, 10000ms) 得 1/8 分,[10000ms, 60000ms) 得 1/16 分。流畅度 = (v1 + v2/2 + v3/4 + v4/8 + v5/16) / (v1+v2+v3+v4+v5),其中 v1~v5 为各区间 token 数。展示平均值和 P50 分位值Measures the smoothness of streaming output: 100% = very smooth, 0% = very choppy. Each token is scored by its inter-token interval: [0, 500ms) = 1, [500, 1000ms) = 1/2, [1000, 3000ms) = 1/4, [3000, 10000ms) = 1/8, [10000, 60000ms) = 1/16. Smoothness = (v1 + v2/2 + v3/4 + v4/8 + v5/16) / (v1+v2+v3+v4+v5), where v1~v5 are token counts per interval. Displays average and P50 percentile.反映用户体感流畅度