1. 链路关联(TraceId、UserId、SessionId)与发布标记
前端可观测性中 TraceId、UserId、SessionId 如何关联?发布标记(release/版本)在链路中起什么作用?
- 三类 ID 的粒度差异(请求/用户/会话)与生成时机
- 上下文注入与随事件携带的机制
- 发布标记对错误归属、版本对比与回滚决策的价值
三类 ID 粒度不同:TraceId 关联一次请求链路(每次 fetch/导航一个),SessionId 关联一次会话(打开到关闭浏览器,跨页面),UserId 关联登录用户;可观测性平台用它们把离散事件串成可检索的切片——按 UserId 看"这个用户的所有请求与报错",按 SessionId 看"这一次访问的过程",按 TraceId 看"一次请求的前后端调用链"。工程实现:SDK 在请求拦截时生成/透传 traceparent,SessionId 在会话开始时生成并随事件携带(页面 reload 保持),UserId 在登录后注入(登出清除),统一放进事件上下文 contexts。发布标记:上报事件绑定 release/版本(构建时注入),使错误、性能数据可按版本切片——新版本上线后问题量是否上升、某版本独有错误、CrUX/RUM 的版本对比,直接支撑灰度评估与回滚决策;版本与提交关联后还能从错误跳转到对应代码。
本题考察可观测性数据模型的基础。答题核心是"三级 ID 粒度"的语义差异与注入机制,以及 release 标记支撑版本化分析与回滚决策的运营价值。