概述
Flashduty RUM 的 Trace 追踪功能将前端用户监控与分布式追踪系统深度集成,让您能够将 Web 应用程序的请求与其对应的后端跟踪关联起来。这种组合使您能够一目了然地查看完整的前端和后端数据,实现端到端的性能监控和问题排查。 通过 Trace 追踪,您可以:- 关联前后端请求:将前端用户操作与后端 API 调用关联
- 端到端问题排查:快速定位从前端到后端的完整请求链路问题
- 性能瓶颈分析:识别整个请求链路中的性能瓶颈点
- 用户体验优化:基于完整的请求链路数据优化用户体验
工作原理
Trace 追踪基于 W3C Trace Context 标准实现,通过在 HTTP 请求头中注入追踪信息来关联前后端请求:1
前端发起请求
RUM SDK 自动为配置的 API 请求添加追踪头信息
2
后端接收处理
后端服务接收并处理带有追踪信息的请求
3
链路关联
通过相同的
trace_id 将前后端数据关联起来4
可视化展示
通过 trace 关联根据
trace_id 查看完整的请求链路信息配置步骤
1. SDK 配置
首先需要在 RUM SDK 中配置分布式追踪功能。在初始化 RUM SDK 时添加以下参数:关键配置参数
指定需要添加追踪信息的 API 端点,支持以下类型:
| 类型 | 说明 | 示例 |
|---|---|---|
| 字符串 | 匹配以该值开头的 URL | "https://api.example.com" |
| 正则表达式 | 使用正则表达式匹配 URL | /https:\/\/.*\.my-api-domain\.com/ |
| 函数 | 自定义匹配逻辑,返回 true 表示匹配 | (url) => url.startsWith("https://api") |
追踪采样率,控制多少比例的请求会被追踪(范围 0-100)
2. 应用管理配置
SDK 配置完成后,可在应用管理页面进行 trace 跳转相关配置:- 进入 应用管理 页面
- 选择对应的 RUM 应用
- 配置 trace 系统的跳转地址(如已集成分布式追踪系统)
- 在 高级配置 中启用 Trace 追踪 功能

Trace 追踪配置界面
3. 后端服务配置
为了完整支持分布式追踪,后端服务需要:- 接收追踪头信息:处理
traceparent和tracestate请求头 - 传递追踪信息:在调用其他服务时继续传递追踪头信息
- 生成追踪数据:将请求处理过程记录到追踪系统中
追踪头信息说明
RUM SDK 会在配置的请求中自动添加以下 HTTP 头信息:traceparent 头
格式:
[version]-[trace-id]-[parent-id]-[trace-flags]| 字段 | 说明 |
|---|---|
version | 当前为 00 |
trace-id | 128 位的 trace ID,16 进制处理后为 32 个字符 |
parent-id | 64 位的 span ID,16 进制处理后为 16 个字符 |
trace-flags | 采样标志,01 表示命中采样,00 表示非采样 |
tracestate 头
格式:
dd=s:[sampling-priority];o:[origin]| 字段 | 说明 |
|---|---|
sampling-priority | 1 表示 trace 被采样 |
origin | 始终为 rum,表示通过 RUM SDK 采集 |
使用场景
在 RUM 查看器中查看 Trace
配置完成后,在 RUM 查看器的 View 视图 中可以查看对应的 trace 信息:- 进入 RUM 查看器
- 选择包含 API 调用的页面视图
- 在视图详情中查看 Trace 信息
- 点击 trace 链接可跳转至 trace 系统查看详细的请求链路

在 RUM 查看器中查看 Trace 信息
通过 trace_id 查找资源
通过trace_id 也可以在查看器中进行资源查找:
- 在查看器搜索栏中输入
trace_id - 查看对应的资源和视图加载情况
- 分析资源加载性能与后端 API 调用的关联关系

通过 trace_id 查找资源
端到端问题排查
当用户报告性能问题或者异常时:1
定位用户会话
在 RUM 查看器中找到问题用户的会话
2
查看 trace 信息
查看问题页面的 trace 信息
3
分析请求链路
跳转到 trace 系统查看完整的请求链路
4
定位问题根因
判断是前端问题、服务问题,还是网络问题
最佳实践
合理配置采样率
| 环境 | 建议采样率 | 说明 |
|---|---|---|
| 开发环境 | 100% | 确保所有请求都被追踪 |
| 测试环境 | 50-80% | 平衡监控覆盖率和性能 |
| 生产环境 | 10-20% | 避免对性能造成影响 |
精确配置追踪 URL
- 推荐做法
- 避免做法
精确匹配 API 端点:
跨域请求处理
性能监控
- 定期检查 trace 采样率对应用性能的影响
- 监控追踪数据的存储和查询性能
- 根据业务需求调整追踪策略
常见问题
为什么某些请求没有 trace 信息?
为什么某些请求没有 trace 信息?
可能的原因包括:
- 请求 URL 不在
allowedTracingUrls配置范围内 - 请求被
traceSampleRate采样率过滤 - 请求在 SDK 初始化之前发起
- 跨域请求缺少必要的 CORS 配置
如何验证 trace 配置是否正确?
如何验证 trace 配置是否正确?
可以通过以下方式验证:
- 在浏览器开发者工具中检查网络请求头
- 确认请求包含
traceparent和tracestate头信息 - 在 RUM 查看器中查看是否有 trace 信息显示