Cocos Creator 应用数据采集
简介
Cocos Creator 数据采集依赖 Android、iOS Native SDK。本页按移动端 SDK 统一的数据类型和字段说明实际可以上报的 RUM 数据;具体字段是否产生,取决于 Cocos Creator 自动采集、手动采集以及 Native 采集配置。
数据类型
观测云的用户访问监测包括六种数据类型。
| 类型 |
描述 |
| session |
用户会话信息记录,当前会话中的页面、资源、操作、错误和长任务等访问数据都会关联至该会话。 |
| view |
每次用户访问移动端应用程序的页面时,都会生成一条 View 记录。用户停留在同一页面时,资源、长任务、错误和操作记录通过 view_id 关联到对应的 RUM View。 |
| resource |
用户访问页面时加载的资源信息记录。 |
| error |
移动应用程序发生的异常或崩溃。 |
| long_task |
应用程序中阻塞主线程超过指定时长阈值的长任务记录。 |
| action |
记录移动应用程序中的用户活动(应用启动、点击、滑动、返回等)。每个操作都附带唯一的 action_id。 |
全局属性
用户访问监测的场景构建和事件告警都可以通过下面的全局属性进行查询。
SDK 属性
| 字段 |
类型 |
描述 |
sdk_name |
string |
采集器名称。Cocos Creator SDK 通过 Native SDK 上报,对应为 df_ios_rum_sdk 或 df_android_rum_sdk。 |
sdk_version |
string |
采集器版本信息。 |
应用属性
| 字段 |
类型 |
描述 |
app_id |
string |
必填,用户访问应用的唯一 ID 标识,在 观测云 控制台创建监控时自动生成。 |
env |
string |
必填,环境字段。属性值:prod、gray、pre、common、local。 |
version |
string |
必填,版本号。 |
service |
string |
可选,所属业务或服务的名称。Native SDK 默认服务名称为 df_rum_ios 或 df_rum_android。 |
用户 & 会话属性
| 字段 |
类型 |
描述 |
userid |
string |
未登录用户使用随机 UUID 作为 userid,登录用户使用应用后台生成的用户 ID。 |
user_name |
string |
可选,用户名称。 |
user_email |
string |
可选,用户邮箱。 |
session_id |
string |
会话 ID,未操作 15 分钟以上会生成新的 session_id。 |
session_type |
string |
会话类型。参考值:user 和 synthetics。user 表示 RUM 功能产生的数据;synthetics 表示 headless 拨测产生的数据。 |
is_signin |
boolean |
是否为注册用户,属性值:T 或 F。 |
设备 & 分辨率属性
| 字段 |
类型 |
描述 |
device |
string |
移动设备厂商。 |
model |
string |
移动设备型号。 |
device_uuid |
string |
移动设备唯一 ID。Android 使用 ANDROID_ID,iOS 使用 UIDevice.identifierForVendor 生成。 |
os |
string |
操作系统信息。 |
os_version |
string |
操作系统版本。 |
os_version_major |
string |
操作系统主要版本。 |
screen_size |
string |
屏幕分辨率。 |
地理 & 网络属性
| 字段 |
类型 |
描述 |
ip |
string |
用户访问 IP 地址。 |
isp |
string |
运营商。 |
network_type |
string |
网络连接类型,参考值:wifi、2g、3g、4g、5g、unknown(未知网络)、unreachable(网络不可用)。 |
country |
string |
国家。 |
country_iso_code |
string |
国家 ISO Code。 |
province |
string |
省份。 |
city |
string |
城市。 |
自定义属性
除全局属性以外,还可以通过自定义属性(SDK 支持用户添加自定义 Tag 数据)构建场景和配置事件告警。自定义属性是非全局属性,可用于跟踪用户访问应用的整个过程,定位和发现受影响的用户访问情况。
其他数据类型属性
Session
属性
| 字段 |
类型 |
描述 |
session_id |
string |
会话 ID。 |
session_type |
string |
会话类型。参考值:user 和 test。user 表示 RUM 功能产生的数据;test 表示 headless 拨测产生的数据。 |
session_referrer |
string |
会话来源,一般记录来源页面地址。 |
session_first_view_id |
string |
当前会话第一个页面的 view_id。 |
session_first_view_name |
string |
当前会话第一个页面的名称。 |
session_last_view_id |
string |
当前会话最后一个访问页面的 view_id。 |
session_last_view_name |
string |
当前会话最后一个页面的名称。 |
统计指标
| 字段 |
类型 |
描述 |
time_spent |
number(ns) |
当前会话持续时长。 |
session_view_count |
number |
当前会话关联的 view_id 个数。 |
session_error_count |
number |
当前会话产生的错误个数。 |
session_resource_count |
number |
当前会话加载的资源个数。 |
session_action_count |
number |
当前会话的用户操作次数。 |
session_long_task_count |
number |
当前会话产生的长任务次数。 |
View
属性
| 字段 |
类型 |
描述 |
view_id |
string |
每次访问页面时产生的唯一 ID。 |
view_referrer |
string |
页面来源,即页面的父级。 |
view_name |
string |
页面名称。Cocos Creator 自动采集时为场景名称。 |
Action 属性
| 字段 |
类型 |
描述 |
action_id |
string |
用户页面操作时产生的唯一 ID。 |
action_name |
string |
操作名称。 |
action_type |
string |
操作类型,如冷启动、热启动、click 等。 |
指标
| 字段 |
类型 |
描述 |
loading_time |
number(ns) |
页面加载时间。 |
time_spent |
number(ns) |
页面停留时间。 |
is_active |
boolean |
用户是否仍处于活跃状态,参考值:true 或 false。 |
统计指标
| 字段 |
类型 |
描述 |
view_error_count |
number |
每次页面加载时发生的错误次数。 |
view_resource_count |
number |
每次页面加载时请求的资源个数。 |
view_long_task_count |
number |
每次页面加载时产生的长任务个数。 |
view_action_count |
number |
页面查看过程中的操作次数。 |
监控指标
| 字段 |
类型 |
描述 |
cpu_tick_count |
number |
可选,该页面 CPU 跳动次数。 |
cpu_tick_count_per_second |
number |
可选,每秒平均 CPU 跳动次数。 |
fps_avg |
number |
可选,页面平均每秒帧数。 |
fps_mini |
number |
可选,页面最小每秒帧数。 |
memory_avg |
number |
可选,页面内存使用平均值。 |
memory_max |
number |
可选,页面内存使用峰值。 |
Resource
View 属性
| 字段 |
类型 |
描述 |
view_id |
string |
每次访问页面时产生的唯一 ID。 |
view_referrer |
string |
页面来源,即页面的父级。 |
view_name |
string |
页面名称。 |
Action 属性
| 字段 |
类型 |
描述 |
action_id |
string |
用户页面操作时产生的唯一 ID。 |
action_name |
string |
操作名称。 |
action_type |
string |
操作类型,如冷启动、热启动、click 等。 |
Resource 属性
| 字段 |
类型 |
描述 |
resource_url |
string |
资源 URL。 |
resource_url_host |
string |
资源 URL 域名部分。 |
resource_url_path |
string |
资源 URL Path 部分。 |
resource_url_query |
string |
资源 URL Query 部分。 |
resource_url_path_group |
string |
资源 URL Path 分组。 |
resource_type |
string |
资源类别。 |
resource_method |
string |
资源请求方法。 |
resource_status |
string |
资源请求返回的状态值。 |
resource_status_group |
string |
资源请求返回的状态分组值。 |
指标
| 字段 |
类型 |
描述 |
resource_size |
number |
资源大小,默认单位:byte。 |
resource_dns |
number(ns) |
资源加载 DNS 解析时间,计算方式:dnsEndTime - dnsStartTime。 |
resource_tcp |
number(ns) |
资源加载 TCP 连接时间,计算方式:tcpEndTime - tcpStartTime。 |
resource_ssl |
number(ns) |
资源加载 SSL 连接时间,计算方式:sslEndTime - sslStartTime。 |
resource_ttfb |
number(ns) |
资源加载请求响应时间。 |
resource_trans |
number(ns) |
资源加载内容传输时间,计算方式:responseEndTime - responseStartTime。 |
resource_first_byte |
number(ns) |
资源加载首包时间。 |
duration |
number(ns) |
资源加载总时间。 |
request_header |
string |
资源请求头。 |
response_header |
string |
资源响应头。 |
Resource 分阶段指标
Cocos Creator 对 fetch 和 XMLHttpRequest 的自动采集会上报请求与响应的基础信息和总耗时。DNS、TCP、SSL 等分阶段指标只在手动采集时通过 FTResourceMetrics 提供对应时间值后产生。
Error
View 属性
| 字段 |
类型 |
描述 |
view_id |
string |
每次访问页面时产生的唯一 ID。 |
view_referrer |
string |
页面来源,即页面的父级。 |
view_name |
string |
页面名称。 |
Action 属性
| 字段 |
类型 |
描述 |
action_id |
string |
用户页面操作时产生的唯一 ID。 |
action_name |
string |
操作名称。 |
action_type |
string |
操作类型,如冷启动、热启动、click 等。 |
Error 属性
| 字段 |
类型 |
描述 |
error_source |
string |
错误来源,参考值:logger 或 network。 |
error_type |
string |
错误类型。Cocos Creator 层常见值:cocos_error、unhandled_promise_rejection、network_error;Native 层还可能产生 java_crash、native_crash、anr_error、anr_crash、ios_crash 等。 |
error_situation |
string |
错误发生时机,参考值:startup(启动时)和 run(运行时)。 |
error_source=network 时,可新增以下 Network Error 属性。
| 字段 |
类型 |
描述 |
resource_status |
string |
资源请求返回的状态值。 |
resource_url |
string |
资源 URL。 |
resource_url_host |
string |
资源 URL 域名部分。 |
resource_url_path |
string |
资源 URL Path 部分。 |
resource_url_path_group |
string |
资源 URL Path 分组。 |
resource_method |
string |
资源请求方法。 |
Error 监控属性
| 字段 |
类型 |
描述 |
memory_total |
string |
可选,内存总量。 |
memory_use |
number |
可选,内存使用率。 |
cpu_use |
number |
可选,CPU 使用率。 |
battery_use |
number |
可选,当前手机的电量。 |
locale |
string |
当前系统语言。 |
指标
| 字段 |
类型 |
描述 |
error_message |
string |
错误信息。 |
error_stack |
string |
错误堆栈。 |
Long Task
View 属性
| 字段 |
类型 |
描述 |
view_id |
string |
每次访问页面时产生的唯一 ID。 |
view_referrer |
string |
页面来源,即页面的父级。 |
view_name |
string |
页面名称。 |
Action 属性
| 字段 |
类型 |
描述 |
action_id |
string |
用户页面操作时产生的唯一 ID。 |
action_name |
string |
操作名称。 |
action_type |
string |
操作类型,如冷启动、热启动、click 等。 |
指标
| 字段 |
类型 |
描述 |
duration |
number(ns) |
长任务时长。 |
long_task_stack |
string |
长任务堆栈。 |
Long Task 采集说明
Cocos JavaScript 层当前不自动监听 Long Task。业务可以测量已知任务耗时,并通过 addLongTask() 上报;启用 Native UI Block/Freeze 时,还可以上报 Native 层长任务。
Action
View 属性
| 字段 |
类型 |
描述 |
view_id |
string |
每次访问页面时产生的唯一 ID。 |
view_referrer |
string |
页面来源,即页面的父级。 |
view_name |
string |
页面名称。 |
Action 属性
| 字段 |
类型 |
描述 |
action_id |
string |
用户页面操作时产生的唯一 ID。 |
action_name |
string |
操作名称。Cocos Creator 自动采集时优先使用事件目标节点名称。 |
action_type |
string |
操作类型,Cocos Creator 全局触摸自动采集的类型为 click。 |
指标
| 字段 |
类型 |
描述 |
duration |
number(ns) |
页面操作花费时间。 |
统计指标
| 字段 |
类型 |
描述 |
action_long_task_count |
number |
操作关联的长任务次数。 |
action_resource_count |
number |
操作关联的资源请求次数。 |
action_error_count |
number |
操作关联的错误次数。 |
相关配置
自动采集规则见自定义采集规则,手动采集接口见 RUM 手动埋点。数据采集边界和敏感数据处理见数据与隐私。