Flashduty 微信小程序 RUM 分析看板提供开箱即用的可视化仪表板,自动采集并分析小程序的用户会话、启动耗时、页面渲染、setData 调用等多维度数据,帮助您全面洞察小程序真实运行状况,快速定位性能瓶颈与异常问题,持续优化用户体验。Documentation Index
Fetch the complete documentation index at: https://docs.flashcat.cloud/llms.txt
Use this file to discover all available pages before exploring further.
分析看板包含 2 个核心分析维度:概览、性能分析
概览 — 关键指标一目了然
概览模块聚焦于小程序多维度的核心指标,帮助您快速把握整体健康状况。流量与会话
- UV:去重后的独立访客数。结合趋势图可洞察用户活跃规律。
- 会话数:小程序被打开使用的会话总数,点击卡片可下钻查看具体会话列表。
- 用户访问趋势:以时序图同时展示 UV 与 Session 的变化趋势,识别访问高峰与异常波动。
核心指标
- 错误数(error_count):监控小程序错误事件的总数与时序趋势,及时发现异常峰值。
- 会话错误率(session error rate):发生错误的会话占总会话的比例,反映小程序整体稳定性。
- 应用启动时长 P75(appLaunchTime P75):监控小程序冷启动 + 热启动整体耗时的 P75 分位值,评估启动性能表现。启动时长直接影响用户的第一印象。
- 首次渲染 P75(firstRender P75):监控页面从开始加载到首次渲染完成耗时的 P75 分位值,反映页面”白屏”时间。
- setData 调用次数(setDataCount 平均值):监控页面平均每次访问的
setData调用次数。过高的调用频次会增加 JS 与渲染线程的通信开销。 - setData 耗时 P75(setDataDuration P75):监控单次
setData调用耗时的 P75 分位值。
会话分析
- 平均会话时长:会话总时长除以会话总数,评估用户粘性与使用深度。结合时序图可识别活跃用户行为变化。
性能分析 — 全面掌控小程序体验
性能分析模块专注于小程序启动、页面渲染、setData 等核心体验指标的全链路监控。
核心性能指标
顶部展示 5 个关键性能指标卡片,点击任一卡片可切换下方趋势图与样本分布的统计维度:| 指标 | 采集字段 | 说明 |
|---|---|---|
| 应用启动时长 P75 | app_launch | 小程序启动耗时的 P75 分位值 |
| 首次渲染 P75 | first_render | 页面首次渲染完成耗时的 P75 分位值 |
| 页面加载时长 P75 | loading_time | 页面从打开到完全加载完成耗时的 P75 分位值 |
| setData 调用次数(平均值) | setdata_count | 单次页面访问内 setData 调用次数的平均值 |
| setData 耗时 P75 | setdata_duration | 单次 setData 调用耗时的 P75 分位值 |
趋势分析
下方的趋势图支持选择 趋势模式,按不同维度展开当前指标:| 趋势模式 | 说明 |
|---|---|
| 整体 | 不分维度,展示当前指标的整体时序趋势 |
| 按版本 | 按应用版本号(version)分组,对比新旧版本性能差异 |
| 按环境 | 按环境变量(env)分组,对比不同环境的性能表现 |
| 按加载类型 | 按 view_loading_type 分组,对比冷启动与热启动性能 |
| 按操作系统 | 按 os_name 分组,识别系统级兼容性差异 |
样本分布
样本分布柱状图按时间区间统计当前指标的样本数量分布,识别长尾问题。例如观察应用启动时长时,分布图能清晰展示有多少用户的启动耗时落在 1s 以内、1-2s、2s 以上等区间。页面性能明细
按页面(视图名称)统计各项性能指标,识别加载缓慢或setData 过于频繁的页面:
| 列 | 说明 |
|---|---|
| 视图名称 | 小程序页面路由路径 |
| 访问次数 | 该页面的 view 事件总数,附直方图条形展示相对热度 |
| 应用启动时长 | 落在该页面会话内的启动耗时 P75 |
| 首次渲染 | 该页面首次渲染耗时 P75 |
| 页面加载时长 | 该页面完全加载耗时 P75 |
| setData 调用次数 | 该页面平均 setData 调用次数 |
| setData 耗时 | 该页面单次 setData 耗时 P75 |
| onLoad → onShow | 该页面从 onLoad 到 onShow 之间的耗时 P75 |
| onShow → onReady | 该页面从 onShow 到 onReady 之间的耗时 P75 |
启动类型趋势
底部两张图分别展示冷启动(initial_load)与热启动(route_change)的对比情况:
- 启动类型趋势:冷启动与热启动次数随时间的变化趋势,识别业务流量结构变化。
- 启动耗时趋势:冷启动与热启动耗时的时序对比,冷启动通常显著长于热启动;如果两者差距异常缩小或拉大,往往意味着启动逻辑发生了变化。
冷启动 vs 热启动
- 冷启动(initial_load):用户首次进入小程序或小程序被微信回收后重新打开,需要完整初始化运行时和加载首页。
- 热启动(route_change):小程序在后台短时间被唤回,无需重新初始化,耗时显著更短。
常见问题
应用启动时长和首次渲染时间有什么区别?
应用启动时长和首次渲染时间有什么区别?
- 应用启动时长(app_launch):从用户点击小程序图标或入口到
App.onLaunch执行完成的总耗时,包含运行时初始化、首页代码包加载、App.onLaunch执行等阶段。 - 首次渲染(first_render):从页面开始加载到该页面首次完成渲染的耗时,反映页面”白屏”时间。
- 一次冷启动通常 = 应用启动时长 + 首页首次渲染时间,二者从不同角度衡量启动体验。
setData 调用次数过多会有什么影响?
setData 调用次数过多会有什么影响?
setData 是小程序逻辑层向渲染层通信的核心 API,每次调用都会触发跨线程通信和差量计算。常见问题:- 频繁调用:在循环或事件中高频调用
setData,导致渲染线程持续繁忙 - 数据体积过大:一次
setData传递的数据过大,跨线程序列化耗时显著 - 更新无关数据:把整个
data传给setData,而不是仅传递变化的字段
P75 分位数是什么意思?
P75 分位数是什么意思?
分位数(Percentile)是统计学中衡量数据分布的重要指标:
| 分位数 | 含义 |
|---|---|
| P50(中位数) | 50% 的用户体验优于此值,50% 的用户体验劣于此值 |
| P75 | 75% 的用户体验优于此值,25% 的用户体验劣于此值 |
| P90 | 90% 的用户体验优于此值,10% 的用户体验劣于此值 |
如何降低小程序启动耗时?
如何降低小程序启动耗时?
onLoad → onShow、onShow → onReady 这些指标有什么用?
onLoad → onShow、onShow → onReady 这些指标有什么用?
这些是小程序页面生命周期内部各阶段的耗时,可用于精确定位渲染慢的环节:
- onLoad → onShow:页面收到
onLoad到onShow之间的耗时,主要反映onLoad中同步逻辑(参数解析、首屏数据预处理等)的耗时。 - onShow → onReady:页面
onShow到onReady之间的耗时,反映首次渲染完成所需的时间,包含模板编译和首批setData的渲染。
onLoad 中的逻辑阻塞,还是首次渲染本身耗时过长。数据延迟是多少?
数据延迟是多少?
Flashduty RUM 通常在数据产生后的 1-3 分钟内完成采集和展示。在网络状况良好的情况下,大部分数据可实现准实时更新。
延伸阅读
微信小程序 SDK 接入指南
了解如何在微信小程序中接入 RUM SDK,完成应用初始化
微信小程序数据收集
了解 SDK 自动采集的事件类型与 view 字段口径
微信小程序高级配置
深入配置代理、分布式追踪、采样率与手动上报
微信小程序兼容性
查看 SDK 支持的小程序基础库版本与平台 API 要求