概述
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 时添加以下参数:关键配置参数
array
必填
指定需要添加追踪信息的 API 端点,支持以下类型:
number
默认值:"100"
追踪采样率,控制多少比例的请求会被追踪(范围 0-100)
2. 应用管理配置
SDK 配置完成后,可在应用详情的 Link 集成 页签中配置 trace 跳转:- 进入 应用管理 页面
- 选择对应的 RUM 应用并打开 Link 集成 页签
- 在 Tracing 卡片中填写链路追踪系统的跳转链接
- 保存链接后开启 Tracing 开关
3. 后端服务配置
为了完整支持分布式追踪,后端服务需要:- 接收追踪头信息:处理
traceparent和tracestate请求头 - 传递追踪信息:在调用其他服务时继续传递追踪头信息
- 生成追踪数据:将请求处理过程记录到追踪系统中
追踪头信息说明
RUM SDK 会在配置的请求中自动添加以下 HTTP 头信息:traceparent 头
格式:
[version]-[trace-id]-[parent-id]-[trace-flags]tracestate 头
格式:
dd=s:[sampling-priority];o:[origin]使用场景
在 RUM 查看器中查看 Trace
配置完成后,包含trace_id 的资源事件会显示 Tracing 跳转入口:
- 进入 RUM 查看器
- 筛选或打开包含 API 调用的资源事件
- 在资源列表的
trace_id列点击 trace 链接,或在事件详情右上角打开 关联 Link - 跳转至您的 trace 系统查看详细的请求链路
通过 trace_id 查找资源
通过trace_id 也可以在查看器中进行资源查找:
- 在查看器搜索栏中输入
trace_id - 查看对应的资源和视图加载情况
- 分析资源加载性能与后端 API 调用的关联关系

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