跳转至

iOS/tvOS 应用数据采集


应用数据采集到观测云后,可以通过观测云控制台进行自定义配置场景和配置异常检测事件。

数据类型

观测云的用户访问监测包括六种数据类型:

iOS SDK 直接上报的 RUM 数据类型为 viewresourceerrorlong_taskactionsession 为会话维度数据,基于 SDK 上报的 RUM 数据聚合生成

类型 描述
session 用户会话信息记录,当前会话中,将会基于会话维度用户页面、资源、操作、错误、长任务相关访问数据。
view 每次用户访问移动端应用程序的页面时,都会生成一个查看记录。当用户停留在同一页面上时,资源,长任务,错误和操作记录将通过 view_id 属性链接到相关的 RUM 视图。
resource 用户访问页面时,加载的资源信息记录。
error 移动应用程序发出的异常或崩溃。
long_task 对于应用程序中任何阻塞主线程超过指定持续时间阈值的任务,都会生成一个长任务事件。
action 记录移动应用程序中的用户活动(应用程序启动,点击,滑动,后退等)。每个动作都附加有唯一的 action_id

全局属性

用户访问监测的场景构建和事件告警都可以通过下面的全局属性进行查询。

SDK 属性

字段 类型 描述
sdk_name string 采集器名称,固定名称:
df_macos_rum_sdk
df_ios_rum_sdk
df_tvos_rum_sdk
df_android_rum_sdk
sdk_version string 采集器版本信息
sdk_pkg_info object SDK 包信息

应用属性

字段 类型 描述
app_id string 必填,用户访问应用唯一 ID 标识,在观测云控制台上面创建监控时自动生成。
application_uuid string 应用程序 UUID,iOS SDK 从主 Mach-O UUID 中获取
env string 必填,环境字段。属性值:prod/gray/pre/common/local。其中:
prod:线上环境
gray:灰度环境
pre:预发布环境
common:日常环境
local:本地环境
version string 必填,版本号。
service string 可选,所属业务或服务的名称。固定名称:
df_rum_ios
df_rum_tvos
df_rum_android
df_rum_windows
df_rum_linux

用户 & 会话属性

字段 类型 描述
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。
session_has_replay boolean 当前会话是否关联 Session Replay 数据,开启 Session Replay 相关能力后,View、Resource、Error、Long Task、Action 可写入该字段
custom_keys string RUM 自定义属性 key 列表

设备 & 分辨率属性

字段 类型 描述
device string 移动设备厂商
model string 移动设备型号
device_uuid string 移动设备唯一 ID, 使用UIDevice.identifierForVendor 生成
os string 操作系统信息
os_version string 操作系统版本
os_version_major string 操作系统主要版本
screen_size string 屏幕分辨率
arch string CPU 架构,例如 arm64、arm64e、x86_64

地理 & 网络属性

字段 类型 描述
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 为会话维度数据,通常由服务端基于 SDK 上报的 RUM 数据生成或聚合,不是 iOS SDK 单独直接上报的 measurement

属性

字段 类型 描述
session_id string 会话 id
session_type string 会话类型。参考值:user & synthetics
user:RUM 功能产生的数据;
synthetics:headless 拨测产生的数据。
session_referrer string 会话来源。一般是记录来源的页面地址。
session_first_view_id string 当前会话的第一个页面的 view_id
session_first_view_name string 当前会话的第一个页面的 URL
session_last_view_id string 当前会话的最后一个访问页面的 view_id
session_last_view_name string 当前会话的最后一个页面的URL

统计指标

字段 类型 描述
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 页面名称
session_has_replay boolean 当前 View 所属会话是否关联 Session Replay 数据

指标

字段 类型 描述
loading_time number(ns) 页面加载时间
time_spent number(ns) 页面停留时间
is_active boolean 判断用户是否还在活跃状态,参考值: true & false
session_sample_rate number RUM Session 采样率
session_on_error_sample_rate number 未命中 RUM Session 采样时,发生错误后补采样的采样率
session_replay_sample_rate number Session Replay 采样率,开启 Session Replay 相关能力后出现
session_replay_on_error_sample_rate number 发生错误后补采样 Session Replay 的采样率,开启 Session Replay 相关能力后出现
sampled_for_error_session boolean 当前 Session 是否因错误采样策略被采样
sampled_for_error_replay boolean 当前 Session Replay 是否因错误采样策略被采样
session_error_timestamp number(ns) 错误采样命中时的错误发生时间
session_replay_stats object 当前 View 关联的 Session Replay 统计信息

统计指标

字段 类型 描述
view_error_count number 每次页面加载时发生的错误次数
view_resource_count number 每次页面加载时请求的资源个数
view_long_task_count number 每次页面加载时产生的长任务个数
view_action_count number 页面查看过程中操作的次数
view_update_time number View 更新次数
view_long_task_rate number View 期间长任务耗时占比

监控指标

字段 类型 描述
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_host_ip string 资源 URL 访问目标 IP
resource_id string 资源请求唯一 ID
response_connection string 响应头 Connection 的值
response_content_type string 响应头 Content-Type 的值
response_content_encoding string 响应头 Content-Encoding 的值
span_id string 链路关联的 span id
trace_id string 链路关联的 trace id
session_has_replay boolean 当前 Resource 所属会话是否关联 Session Replay 数据

指标

字段 类型 描述
resource_size number 资源大小,默认单位:byte
resource_request_size number 资源请求大小,默认单位:byte
resource_dns number(ns) 资源加载DNS解析时间
计算方式:domainLookupEnd - domainLookupStart
resource_tcp number(ns) 资源加载TCP连接时间
计算方式:connectEnd - connectStart
resource_ssl number(ns) 资源加载SSL连接时间
计算方式:connectEnd - secureConnectStart
resource_ttfb number(ns) 资源加载请求响应时间
计算方式:responseStart - requestStart
resource_trans number(ns) 资源加载内容传输时间
计算方式:responseEnd - responseStart
resource_first_byte number(ns) 资源加载首包时间
计算方式:responseStart - domainLookupStart
duration number(ns) 资源加载时间
计算方式:duration(responseEnd-startTime)
resource_dns_time object DNS 阶段耗时,结构为 {start, duration}
resource_connect_time object TCP 连接阶段耗时,结构为 {start, duration}
resource_first_byte_time object 首包阶段耗时,结构为 {start, duration}
resource_ssl_time object SSL 阶段耗时,结构为 {start, duration}
resource_download_time object 下载阶段耗时,结构为 {start, duration}
resource_redirect_time object 重定向阶段耗时,结构为 {start, duration}
resource_http_protocol string 资源请求使用的网络协议
resource_connection_reuse boolean 资源请求是否复用连接
request_header string 资源请求头
response_header string 资源响应头

网络快照

字段 类型 描述
network_available boolean Resource 开始时网络是否可用

Error

View 属性

字段 类型 描述
view_id string 每次访问页面时产生的唯一 ID
view_referrer string 页面来源,页面的父级
view_name string 页面名称

Action 属性

字段 类型 描述
action_id string 用户页面操作时产生的唯一 ID
action_name string 操作名称

Error 属性

字段 类型 描述
error_source string 错误来源,参考值:logger & network
error_type string 错误类型
logger error type: anr_error | ios_crash
network error type:network_error
error_situation string 错误发生的时机,参考值:startup (启动时)和 run (运行时)
session_has_replay boolean 当前 Error 所属会话是否关联 Session Replay 数据

type=network时,新增以下Network Error属性。

字段 类型 描述
resource_id string 资源请求唯一 ID
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_status_group string 资源请求返回的状态分组值
resource_method string 资源请求方式

Error 监控属性

字段 类型 描述
memory_total string 可选,内存总量
memory_use number 可选,内存使用率
cpu_use number 可选,CPU 使用率
battery_use number 可选,当前电手机的电池量 (tvOS 不支持)
carrier string 可选,运营商信息(iOS 支持)
locale string 当前系统语言

指标

字段 类型 描述
error_message string 错误信息
error_stack string 错误堆栈
foreground_crash_free_duration number(ns) Crash 发生前应用处于前台的无崩溃持续时间
background_crash_free_duration number(ns) Crash 发生前应用处于后台的无崩溃持续时间
crash_extra object Crash 额外信息,例如寄存器信息

Long Task

View 属性

字段 类型 描述
view_id string 每次访问页面时产生的唯一 ID
view_referrer string 页面来源,页面的父级
view_name string 页面名称

Action 属性

字段 类型 描述
action_id string 用户页面操作时产生的唯一 ID
action_name string 操作名称

指标

字段 类型 描述
duration number(ns) 卡顿时长
long_task_stack string 卡顿堆栈
session_has_replay boolean 当前 Long Task 所属会话是否关联 Session Replay 数据

Action

View 属性

字段 类型 描述
view_id string 每次访问页面时产生的唯一 ID
view_referrer string 页面来源,页面的父级
view_name string 页面名称

Action 属性

字段 类型 描述
action_id string 用户页面操作时产生的唯一 ID
action_name string 操作名称,默认启动 Action 包括 app_hot_startapp_cold_startapp_warm_start
action_type string 操作类型,参考值包括:clicklaunch_hotlaunch_coldlaunch_warm
session_has_replay boolean 当前 Action 所属会话是否关联 Session Replay 数据

指标

字段 类型 描述
duration number(ns) 页面操作花费时间
app_pre_runtime_init_time object 启动阶段指标,运行时初始化前耗时,结构为 {start, duration}
app_runtime_init_time object 启动阶段指标,运行时初始化耗时,结构为 {start, duration}
app_uikit_init_time object 启动阶段指标,UIKit 初始化耗时,结构为 {start, duration}
app_application_init_time object 启动阶段指标,Application 初始化耗时,结构为 {start, duration}
app_first_frame_init_time object 启动阶段指标,首帧渲染耗时,结构为 {start, duration}
app_launch_type string 冷启动类型,仅在 action_type=launch_cold 时上报,参考值:foreground、background

统计指标

字段 类型 描述
action_long_task_count number 操作关联长任务次数
action_resource_count number 操作关联资源请求次数
action_error_count number 操作关联的错误次数

WebView 关联

WebView JSBridge 数据接入 RUM 时,SDK 会在对应数据上补充 is_web_view=true,用于标识该条数据来自 WebView。WebView 数据字段以 Web SDK 上报字段为主,native iOS 字段表中只保留该关联说明。

文档评价

文档内容是否对您有帮助? ×