> ## 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.

# 数据收集

> 本文档详细介绍 Flashduty RUM 的数据收集机制，包括事件类型、属性、指标以及数据保留期等信息。

RUM Browser SDK 生成具有相关指标和属性的事件。每个 RUM 事件都具有所有默认属性，例如页面的 URL（`view_url`）和用户信息，如设备类型（`device_type`）和国家（`geo_country`）。

还有特定于给定事件类型的附加指标和属性。例如，`view_loading_time` 指标与视图事件相关联，而 `resource_method` 属性与资源事件相关联。

## 事件类型

| 事件类型          | 保留期  | 描述                                                                                         |
| ------------- | ---- | ------------------------------------------------------------------------------------------ |
| **Session**   | 30 天 | 用户会话在用户开始浏览网络应用程序时开始。它包含关于用户的高级信息（浏览器、设备、地理位置）。它聚合了用户旅程中收集的所有 RUM 事件，使用唯一的 `session_id` 属性 |
| **View**      | 30 天 | 每次用户访问网络应用程序的页面时都会生成视图事件。当用户留在同一页面上时，资源、长任务、错误和操作事件都链接到相关的 RUM 视图，使用 `view_id` 属性          |
| **Resource**  | 15 天 | 为网页上加载的图像、XHR、Fetch、CSS 或 JS 库生成资源事件。它包括详细的加载时间信息                                          |
| **Long Task** | 15 天 | 对于在浏览器中阻塞主线程超过 50 毫秒的任何任务，都会生成长任务事件                                                        |
| **Error**     | 30 天 | RUM 收集浏览器发出的每个前端错误                                                                         |
| **Action**    | 30 天 | RUM 操作事件跟踪用户旅程中的用户交互，也可以手动发送以监控自定义用户操作                                                     |

<Note>
  会话在 15 分钟不活动后重置。
</Note>

### 事件层次关系

<Frame caption="事件类型之间的层次关系">
  <img src="https://docs-cdn.flashcat.cloud/images/png/eaaeda6894101f897c281961f824907a.png" alt="事件层次关系" style={{maxWidth: "300px", margin: "0 auto", display: "block"}} />
</Frame>

## 默认属性

所有 RUM 事件都包含以下默认属性：

| 属性               | 类型  | 描述                                                     |
| ---------------- | --- | ------------------------------------------------------ |
| `date`           | 整数  | 事件的时间戳（以毫秒为单位）                                         |
| `type`           | 字符串 | 事件的类型（例如，`session`、`view`、`resource`、`error`、`action`） |
| `service`        | 字符串 | 生成此事件的服务名称                                             |
| `application_id` | 字符串 | 生成此事件的应用程序 ID                                          |
| `session_id`     | 字符串 | 会话 ID                                                  |
| `view_id`        | 字符串 | 视图 ID                                                  |
| `action_id`      | 字符串 | 用户操作 ID                                                |
| `context`        | 对象  | 用户定义的上下文                                               |

## 事件特定指标和属性

<Tabs>
  <Tab title="Session">
    ### 会话指标

    | 指标                        | 类型 | 描述             |
    | ------------------------- | -- | -------------- |
    | `session_duration`        | 数字 | 会话持续时间（以毫秒为单位） |
    | `session_view_count`      | 数字 | 会话中的视图数        |
    | `session_action_count`    | 数字 | 会话中的用户操作数      |
    | `session_error_count`     | 数字 | 会话中的错误数        |
    | `session_resource_count`  | 数字 | 会话中的资源数        |
    | `session_long_task_count` | 数字 | 会话中的长任务数       |

    ### 会话属性

    | 属性                              | 类型  | 描述                          |
    | ------------------------------- | --- | --------------------------- |
    | `session_type`                  | 字符串 | 会话类型（例如，`user`、`synthetic`） |
    | `session_has_replay`            | 布尔值 | 是否启用了会话重放                   |
    | `session_is_active`             | 布尔值 | 会话是否处于活动状态                  |
    | `session_initial_view_id`       | 字符串 | 初始视图 ID                     |
    | `session_initial_view_url`      | 字符串 | 初始视图 URL                    |
    | `session_initial_view_referrer` | 字符串 | 初始视图的引用 URL                 |
  </Tab>

  <Tab title="View">
    ### 视图指标

    | 指标                            | 类型 | 描述               |
    | ----------------------------- | -- | ---------------- |
    | `view_loading_time`           | 数字 | 视图加载时间（以毫秒为单位）   |
    | `view_first_contentful_paint` | 数字 | 首次内容绘制时间（以毫秒为单位） |
    | `view_dom_interactive`        | 数字 | DOM 交互时间（以毫秒为单位） |
    | `view_dom_complete`           | 数字 | DOM 完成时间（以毫秒为单位） |
    | `view_load_event_end`         | 数字 | 加载事件结束时间（以毫秒为单位） |
    | `view_error_count`            | 数字 | 视图中的错误数          |
    | `view_resource_count`         | 数字 | 视图中的资源数          |
    | `view_long_task_count`        | 数字 | 视图中的长任务数         |
    | `view_action_count`           | 数字 | 视图中的用户操作数        |

    ### 视图属性

    | 属性              | 类型  | 描述        |
    | --------------- | --- | --------- |
    | `view_url`      | 字符串 | 视图 URL    |
    | `view_referrer` | 字符串 | 视图的引用 URL |
    | `view_name`     | 字符串 | 视图名称      |
  </Tab>

  <Tab title="Resource">
    ### 资源指标

    | 指标                             | 类型 | 描述               |
    | ------------------------------ | -- | ---------------- |
    | `resource_duration`            | 数字 | 资源加载时间（以毫秒为单位）   |
    | `resource_size`                | 数字 | 资源大小（以字节为单位）     |
    | `resource_connect_duration`    | 数字 | 连接时间（以毫秒为单位）     |
    | `resource_ssl_duration`        | 数字 | SSL 握手时间（以毫秒为单位） |
    | `resource_dns_duration`        | 数字 | DNS 查找时间（以毫秒为单位） |
    | `resource_first_byte_duration` | 数字 | 首字节时间（以毫秒为单位）    |
    | `resource_download_duration`   | 数字 | 下载时间（以毫秒为单位）     |

    ### 资源属性

    | 属性                         | 类型  | 描述                                                                           |
    | -------------------------- | --- | ---------------------------------------------------------------------------- |
    | `resource_type`            | 字符串 | 资源类型（`xhr`、`fetch`、`document`、`script`、`css`、`image`、`font`、`media`、`other`） |
    | `resource_method`          | 字符串 | HTTP 方法（例如，`GET`、`POST`）                                                     |
    | `resource_status_code`     | 数字  | HTTP 状态码                                                                     |
    | `resource_url`             | 字符串 | 资源 URL                                                                       |
    | `resource_provider_name`   | 字符串 | 资源提供者名称                                                                      |
    | `resource_provider_domain` | 字符串 | 资源提供者域名                                                                      |
    | `resource_provider_type`   | 字符串 | 资源提供者类型（`first-party`、`third-party`）                                         |
  </Tab>

  <Tab title="Long Task">
    ### 长任务指标

    | 指标                   | 类型 | 描述              |
    | -------------------- | -- | --------------- |
    | `long_task_duration` | 数字 | 长任务持续时间（以毫秒为单位） |
  </Tab>

  <Tab title="Error">
    ### 错误指标

    | 指标            | 类型 | 描述  |
    | ------------- | -- | --- |
    | `error_count` | 数字 | 错误数 |

    ### 错误属性

    | 属性              | 类型  | 描述                                                           |
    | --------------- | --- | ------------------------------------------------------------ |
    | `error_source`  | 字符串 | 错误来源（`console`、`network`、`source`、`logger`、`agent`、`custom`） |
    | `error_type`    | 字符串 | 错误类型                                                         |
    | `error_message` | 字符串 | 错误消息                                                         |
    | `error_stack`   | 字符串 | 错误堆栈跟踪                                                       |
  </Tab>

  <Tab title="Action">
    ### 用户操作指标

    | 指标                       | 类型 | 描述               |
    | ------------------------ | -- | ---------------- |
    | `action_loading_time`    | 数字 | 用户操作加载时间（以毫秒为单位） |
    | `action_long_task_count` | 数字 | 用户操作中的长任务数       |
    | `action_resource_count`  | 数字 | 用户操作中的资源数        |
    | `action_error_count`     | 数字 | 用户操作中的错误数        |

    ### 用户操作属性

    | 属性                   | 类型  | 描述                          |
    | -------------------- | --- | --------------------------- |
    | `action_id`          | 字符串 | 用户操作 ID                     |
    | `action_type`        | 字符串 | 用户操作类型（例如，`click`、`custom`） |
    | `action_target_name` | 字符串 | 用户操作目标名称                    |
    | `action_name`        | 字符串 | 用户操作名称                      |
  </Tab>
</Tabs>
