真实用户监控(RUM)中采集的数据
本文档概述了 Site24x7 RUM 采集的所有关键数据字段。
每个数据点都有助于分析性能瓶颈、快速诊断问题,并优化不同浏览器、设备和网络条件下的用户体验。
使用本参考文档了解正在采集哪些信息、信息来源以及如何为您的监控洞察提供支撑。
用户会话数据
| 字段 | 描述 | 来源 | 参考链接 |
|---|---|---|---|
| uid | 通过 API 设置的自定义 userId | 自定义 API | 自定义 API:userId |
| guid | 未设置 uid 时使用的自动生成 userId | Site24x7 | - |
| session_id | 存储在 Cookie 中用于识别唯一用户和会话的自动生成会话 ID | Cookie | 会话数据采集 |
| ip | 用于提取地理位置数据的已捕获源 IP 地址。
注意
默认不存储 IP 数据;可通过启用 IP 配置来存储。 |
X-Forwarded-For 请求头 | X-Forwarded-For |
地理位置数据
| 字段 | 描述 | 来源 |
|---|---|---|
| country | 从 IP 地址推导出的国家/地区 | IP 地理位置 |
| region | 从 IP 地址推导出的地区 | |
| city | 从 IP 地址推导出的城市 | |
| isp | 从 IP 地址推导出的 ISP |
环境数据
| 字段 | 描述 | 来源 | 参考链接 |
|---|---|---|---|
| device_view_port | 根据浏览器窗口尺寸计算得出 | window.screen | Window Screen API |
| devicememory | 用户设备内存 | navigator.deviceMemory | Device Memory API |
| device_connection | 用户的网络连接类型 | navigator.connection.effectiveType | 连接类型 |
| device | 用户的设备类型 | 用户代理 | - |
| browser | 浏览器名称 | 用户代理 | - |
| browser_version | 浏览器版本 | 用户代理 | - |
| bot | 机器人或爬虫的识别标识 | 用户代理 | - |
| environment | 通过 API 设置的自定义环境 | 自定义 API | 自定义 API:environment |
事务数据
| 字段 | 描述 | 来源 |
|---|---|---|
| txn | 当前页面的路径和查询 | document.location 和 window.location |
| full_txn | 完整的页面 URL | |
| domain | 当前 URL 的源(协议和主机名) | window.location.origin |
| http_status | 网络请求的 HTTP 状态 | Fetch 或 XHR API 响应 |
错误数据
| 字段 | 描述 | 来源 |
|---|---|---|
| file | 错误发生所在的脚本文件 | window.onerror 和 window.onunhandledrejection |
| url | 错误源文件的完整 URL | |
| type | 错误类型(例如 TypeError 或 PromiseRejectionEvent) | |
| message | 描述问题的错误消息 | |
| function | 错误发生所在的函数名称 | |
| line | 错误发生所在脚本文件的行号 | |
| column | 错误发生所在脚本文件的列号 | |
| trace | 错误发生时的调用堆栈 | |
| user_trace | 导致错误的用户事件面包屑轨迹(例如点击和加载等事件) | DOM 事件 |
Web 性能指标数据
| 字段 | 描述 | 来源 |
|---|---|---|
| lcp_element | 视口中最大的内容元素 | PerformanceObserver(largest-contentful-paint 条目) |
| cls_element | 引起最大布局偏移的元素 | PerformanceObserver(layout-shift 条目) |
| fid_element | 导致输入延迟的首次交互元素 | PerformanceObserver(first-input 条目) |
| fid_event | 触发首次输入延迟的事件类型 | PerformanceObserver(first-input 条目) |
| inp_element | 用于测量下次绘制交互时间的交互元素 | PerformanceObserver(带 interactionId 的 event-timing 条目) |
| lcp | 最大内容绘制(LCP):视口中最大内容元素变得可见所需的时间 | PerformanceObserver(largest-contentful-paint 条目的 startTime + renderTime) |
| cls | 累积布局偏移(CLS):代表页面整个生命周期内所有意外布局偏移总和的分数 | PerformanceObserver(layout-shift 条目的累积值) |
| fcp | 首次内容绘制(FCP):第一段内容(文本、图像、画布等)出现在屏幕上所需的时间 | PerformanceObserver(名称为 first-contentful-paint 的 paint entry) |
| fid | 首次输入延迟(FID):用户首次与页面交互(例如点击按钮)到浏览器实际能够开始处理该交互事件处理程序之间的时间 | PerformanceObserver(first-input 条目的 processingStart - startTime) |
| inp | 下次绘制交互时间(INP):通过查看页面整个生命周期内所有离散用户交互的延迟,评估页面对用户交互整体响应能力的指标 | PerformanceObserver(带 interactionId 的 event-timing 条目) |
| ttfb | 首字节时间(TTFB):从用户发起文档请求到响应的第一个字节到达之间的时间 | PerformanceObserver(navigation entry 的 responseStart - requestStart) |
性能指标数据
| 字段 | 描述 | 来源 |
|---|---|---|
| used_heap_memory | JavaScript 堆当前使用的内存量 | window.performance.memory.usedJSHeapSize |
| free_heap_memory | JavaScript 堆中估计可用的空闲内存量 | (window.performance.memory.totalJSHeapSize - window.performance.memory.usedJSHeapSize) |
| rdt | 重定向时间:完成所有重定向所需的时间 | window.performance.timing 计算为 redirectEnd - redirectStart |
| dnst | DNS 查询时间:对主文档执行 DNS 解析所需的时间 | window.performance.timing 计算为 domainLookupEnd - domainLookupStart |
| cont | TCP 连接时间:建立到服务器的 TCP 连接所需的时间 | window.performance.timing 计算为 connectEnd - connectStart |
| dlt | 下载时间:下载请求内容所需的时间 | window.performance.timing 计算为 responseEnd - responseStart |
| drt | 文档渲染时间:浏览器解析 HTML 并渲染 DOM 树所需的时间 | window.performance.timing 计算为 domComplete - domLoading |
| prt | 页面渲染时间:页面加载完毕后执行任何附加逻辑所需的时间 | window.performance.timing 计算为 loadEventEnd - loadEventStart |
| fbt | 首字节时间:浏览器收到请求的第一段信息所需的时间 | window.performance.timing 计算为 responseStart - redirectStart |
| nwt | 网络时间:重定向时间 + DNS 查询时间 + TCP 连接时间 + 下载时间的总和 | window.performance.timing |
| bet | 后端或服务器时间:应用程序后端响应请求资源所需的时间 | window.performance.timing 计算为 responseStart - requestStart |
| fet | 前端时间:文档渲染时间 + 页面渲染时间的总和 | window.performance.timing |
| totalRT | 总响应时间:网络时间 + 后端或服务器时间 + 前端时间的总和 | window.performance.timing |
| totalSZ | 总大小:与资源相关的估计总大小 | 根据 document.documentElement.innerHTML.length(主文档)和 PerformanceResourceTiming 条目(transferSize)计算得出 |
| name | 正在加载的资源 URL | PerformanceResourceTiming 条目 |
| initiator | 发起资源请求的元素或进程类型(例如 link、script、img 或 fetch) | |
| extension | 资源的文件扩展名(从 name 中推导) | 从 PerformanceResourceTiming 条目的 name 中推导 |
| cross_domain | 表示资源是否从不同源加载的布尔表达式 | 通过比较资源名称的源与 window.location.host 得出 |
| cached | 表示资源是否从浏览器缓存中检索的布尔表达式 | PerformanceResourceTiming 条目(transferSize 为 0,或 encodedBodySize 为 0 且 decodedBodySize 大于 0) |
| duration | 从请求开始到响应结束,加载资源所需的总时间 | PerformanceResourceTiming 条目 |
| blocked | 请求在发送之前被阻塞的时间 | PerformanceResourceTiming 条目计算为 requestStart - connectEnd 或 domainLookupStart - fetchStart |
| sslt | SSL/TLS 协商时间:执行 SSL/TLS 握手所需的时间 | PerformanceResourceTiming 条目计算为 connectEnd - secureConnectionStart |
| size | 已下载资源的大小 | PerformanceResourceTiming 条目(encodedBodySize) |
| ratio | 压缩比:资源编码大小与解码大小之比(如使用了压缩) | 从 PerformanceResourceTiming 条目推导(encodedBodySize / decodedBodySize) |
| start_time | 浏览器开始获取资源的时间 | PerformanceResourceTiming 条目(startTime) |
| domain_type | 资源域的分类(例如 CDN、第一方或第三方) | 通过比较资源来源推导得出 |
| res_type | 资源的更具体类型 |
回放指标
| 字段 | 描述 | 来源 | 参考 |
|---|---|---|---|
| events | 用户和浏览器事件(点击、滚动、加载、卸载、错误等) | DOM API | - |
| DOM Snapshots | DOM 的定期快照 | window 和 document | - |
