概述
RUM 应用是承载前端性能监控数据的容器,用于采集、存储和分析用户在前端应用中的真实体验数据。一个应用代表一个被监控的前端项目,可以是网站、移动应用或单页应用等。 每个应用拥有独立的applicationId 和 clientToken,用于识别数据来源并确保数据安全。应用创建后,您需要将 SDK 集成到您的前端代码中,以开始数据采集和监控。
应用权限
为了满足不同业务场景的数据安全需求,RUM 应用提供了灵活的访问级别设置:私有应用中,其他成员若需查看内容,可以通过分享故障链接的方式临时授权访问。
创建应用

RUM 应用创建界面
1
选择应用类型
选择应用对应的前端技术类型,目前支持 JavaScript (JS)、Android、iOS、HarmonyOS、Flutter、微信小程序、Electron、React Native。
2
设置管理团队
指定该应用的管理团队。
3
配置地理信息
默认情况下,自动启用用户地理位置数据采集。如需禁用客户端 IP 或地理位置数据的自动采集,请关闭地理信息收集开关。详见 数据收集。
4
配置告警
默认情况下,自动开启告警通知,方便您及时处理错误。详见 Issue 告警。
SDK 配置
您可以在 应用配置 > SDK 配置 中修改参数并实时预览初始化代码,以便快速接入 SDK。 控制台为不同平台提供了详细的集成引导:- JavaScript(Web):配置服务名等参数后,实时预览
flashcatRum.init()初始化代码 - Android:展示完整的集成步骤,包括添加 Gradle 依赖(
cloud.flashcat:dd-sdk-android-core和cloud.flashcat:dd-sdk-android-rum)、在Application.onCreate()中初始化 SDK 并启用 RUM,以及可选的 WebView 追踪集成 - iOS:展示完整的集成步骤,包括添加 Swift Package Manager 依赖(
fc-sdk-ios,版本 0.6.0 起)、在AppDelegate.didFinishLaunchingWithOptions中初始化 SDK 并启用 RUM,以及可选的 WebView 追踪集成 - Flutter:Flutter SDK 封装了 Android/iOS 原生 SDK,一次集成即可同时监控两端,详见 Flutter SDK 接入
- 微信小程序:通过表单填写
env、service、version、sessionSampleRate后,实时预览基于@flashcatcloud/miniprogram-rum的flashcatRum.init()初始化代码(参见下方「微信小程序 SDK 配置助手」) - Electron:提供分步接入向导——主进程安装
@flashcatcloud/electron-sdk并在app.whenReady()中完成初始化(必须在创建任何窗口之前,顺序不对时 SDK 不报错但采集不到数据);如需采集窗口内的页面浏览、用户操作、网络请求与 JS 错误,渲染进程可选接入@flashcatcloud/browser-rum,数据经 IPC 桥交由主进程统一上报;使用 Vite / webpack / esbuild 打包主进程时,还可加入对应插件以保留 SDK 的运行时依赖。详见 Electron SDK 接入 - React Native:提供四步接入向导——安装
@flashcatcloud/mobile-react-native与导航库对应的视图采集包(@flashcatcloud/mobile-react-navigation或@flashcatcloud/mobile-react-native-navigation)并执行pod install;用withDatadogMetroConfig包装 Metro 配置,让 release 构建的 bundle 与 sourcemap 带上 Debug ID;在应用入口尽早初始化 SDK(serviceName必填,否则 Android 与 iOS 会拆成两个服务);在导航容器就绪后开启自动视图采集。详见 React Native SDK 接入
applicationId 和 clientToken,您可以直接复制代码到项目中使用。
服务定义
服务是一个独立的、可部署的代码存储库,它映射到一组页面。- 单体应用
- 微前端/多页面应用
如果您的应用程序是作为一个整体构建的,那么您的 RUM 应用只需要一个服务名称。
微信小程序 SDK 配置助手
当应用类型选择为「微信小程序」时,应用配置 > SDK 配置 会展示专门的小程序集成向导:左侧填写表单参数,右侧实时生成可直接复制的初始化代码。表单字段
表单字段填写完毕后,无需点击保存——预览代码会随输入实时更新。
applicationId 和 clientToken 由系统自动填入,无需手动配置。两步集成
1
添加依赖
在小程序项目中执行以下命令安装 SDK,并通过微信开发者工具完成 npm 构建:
2
复制初始化代码
点击右侧代码块右上角的复制按钮,将生成的初始化代码粘贴到小程序的
app.js:Link 集成
Link 集成允许您把 RUM 事件与外部系统关联起来,例如链路追踪平台、日志检索、对象存储中的崩溃日志包或内部排障系统。配置完成后,RUM 会根据事件类型和事件上下文生成跳转链接,并在事件详情中展示 关联 Link。 Link 集成位于应用详情的 Link 集成 页签,适用于所有应用类型。具有 RUM 应用更新 权限的成员可以新增、编辑、启用、禁用或删除链接配置。内置 Tracing
内置 Tracing 是 Link 集成中的默认卡片,用于把资源事件中的trace_id 跳转到您的后端链路追踪系统。
1
填写跳转链接
在 Link 集成 页签中找到 Tracing 卡片,填写链路追踪系统的跳转链接。链接中可以使用
${trace_id} 变量,RUM 会在展示链接时替换为资源事件中的实际 Trace ID。例如:https://your-tracing-system.com/trace/${trace_id}2
开启 Tracing
保存跳转链接后,打开 Tracing 开关。未填写跳转链接时,开关不可开启。
内置 Tracing 仅匹配资源事件,并且只有事件包含
trace_id 时才会展示。跳转链接必须以 http:// 或 https:// 开头。添加外部链接
除内置 Tracing 外,您可以为不同事件类型添加自定义外部链接。1
添加链接
在 Link 集成 页签中点击 添加外部链接,填写链接名称和跳转链接。
2
选择适用事件类型
选择该链接适用的事件类型。当前支持 崩溃、错误、视图、操作、资源、会话。崩溃属于错误事件:选择 错误 会匹配普通错误和崩溃;选择 崩溃 只匹配崩溃事件。
3
插入变量并预览
在 跳转链接 中插入变量,例如
${session_id}、${error_id} 或 ${trace_id}。页面会使用示例值实时预览最终 URL,便于您确认模板是否符合外部系统的查询格式。可用变量
Link 集成会从当前事件上下文中提取变量并替换到 URL 模板中。
不是所有变量都能在每种事件类型上解析。编辑器会按当前选择的适用事件类型校验变量可用性:当前事件类型下无法解析的变量,在变量列表中显示为虚线灰色,悬停时会提示在哪些事件类型上取不到值。
可用性按事件类型对应的数据表是否包含该字段判断,而不是按某条具体事件是否恰好有值:标记为可用只表示该事件类型允许解析出值,并不保证每条事件都有值。崩溃属于错误事件,可用性与错误一致。
${variable} 字面量。示例预览(示例数据)会省略不可用变量的示例值,因此预览结果与生产环境实际生成的链接一致。
查看关联 Link
当事件匹配已启用的链接配置时,您可以在以下位置打开外部系统:- RUM 查看器事件详情:右上角显示 关联 Link 下拉入口,适用于会话、视图、操作、错误和资源等事件详情
- 错误事件详情:详情区域内嵌展示匹配的关联 Link 卡片,支持复制或打开链接
- Issue 错误样本:在错误样本下方展示匹配的关联 Link,便于从 Issue 直接跳转到日志、链路追踪或其他排障系统
隐私设置
隐私设置允许您控制 RUM SDK 采集的用户隐私数据范围,以满足不同地区的数据合规要求。远程配置
「远程配置」页签允许你在线调整采集与隐私参数,而无需改代码、重新发版。启用后,本页配置覆盖 SDK 初始化设置;停用后,各端恢复使用 SDK 初始化设置,数据采集不会停止。- 远程配置目前支持 Browser、iOS 与微信小程序类型应用,其他平台类型将随各端 SDK 发布逐步开放。
- SaaS 环境下该功能按账号逐步放量。如果应用详情页未显示「远程配置」页签,请联系支持团队开通;私有化部署默认可用。
配置项
iOS 与微信小程序应用同样展示「远程配置」页签,但这两端的 SDK 仅读取会话采样率与自定义配置项两项(两端均无 Session Replay,其余配置不下发也不生效)。各端 SDK 都需要在初始化时开启
remoteConfigurationEnabled: true(默认关闭,未开启的应用不会请求配置);iOS 端需要 SDK 0.6.0 及以上,接入方式见 iOS SDK 高级配置。
条件规则
条件规则是协议预留能力,当前控制台版本暂不支持编辑:页面上没有规则编辑界面,保存配置时服务端存量的规则会原样保留,不会被清除。后续版本将开放规则编辑。 协议语义简述:除默认值外,可按条件向不同客户端下发不同配置——- 匹配条件支持
env、app_version、sdk三个维度,条件之间为 AND 精确匹配;SDK 未上报的维度永不匹配该规则。单个匹配值最长 256 字节。 - 规则自上而下求值,第一条完全匹配的规则生效;规则的覆盖值叠加在默认配置之上,规则未设置的字段沿用默认配置。
- 每个应用最多 20 条规则。
发布与生效
- 发布前页面会逐项展示新版本与线上配置的差异,并可查看原始 JSON。发布时可填写选填的「变更说明」(最长 255 字,例如「大促期间降低采样率」),随版本保存并展示于变更历史。确认后发布生成新版本。
- 生效方式固定为「下一个新会话生效」:进行中的会话不受影响,新会话逐步使用新配置;支持远程配置的客户端通常在发布后约 4 小时内完成切换。
- 「立即生效」(新配置到达客户端时结束当前会话、立即按新配置开启新会话)为协议预留能力,当前控制台版本暂不支持选择,后续版本开放。紧急场景(需要立刻止血或放量采集)可调用 SDK 的
stopSession()主动结束当前会话,让配置随新会话尽快生效。 - 协议还预留了「前台刷新」(
refresh_on_foreground)开关:开启后客户端每次回到前台时重新拉取配置,而非等待轮询。默认关闭——所有客户端集中在回前台的时刻请求配置,形同发布 herd,会冲击配置端点,仅适合确实需要分钟级生效的应用。该开关暂不可在控制台设置,将随后续版本开放。
版本历史与采用情况
- 变更历史保留最近 50 个版本,更早的版本将自动清理且无法回滚。每条历史展示操作人与变更说明(如填写)。你可以将任一保留中的历史版本回滚为当前配置,回滚同样会生成新版本。
- 回滚产生的新版本带内容等价标注:若其配置内容与历史上某个更早版本完全相同,历史列表会标注该版本与那个最早相同内容的版本等价——版本号跳变不代表配置内容发生了变化。
- 发布面板按最近到达的采样会话展示采用情况与采用进度,状态标签为「等待新会话」(刚发布,尚无会话按当前版本开始)、「生效中」(部分会话已切换)、「最近会话已切换」(窗口内到达的会话均已在当前版本)、「未收到配置」(最近会话均未上报配置版本,常见为 SDK 未开启远程配置或版本过低)、「暂无数据」(窗口内暂无新会话)、「未检测到生效」(发布已超过约 8 小时仍未切到当前版本);进度条中未上报配置版本的会话段标为「未上报」(SDK 版本过低或尚未拉取过配置)。点击查看明细可跳转到事件浏览器查看这批样本会话。窗口内采样会话少于 20 条时,面板只展示实际会话数、不估算占比(占比由采样率放大估算,样本过少时结果没有意义)。
删除应用
如果您不再需要某个应用,可以在应用详情的「基础信息」页签底部找到删除按钮。下一步
SDK 接入指南
了解如何接入 RUM SDK
高级配置
了解 SDK 的高级配置选项
分析看板
查看和分析 RUM 数据
微信小程序 SDK
了解如何在微信小程序中接入 RUM SDK