@blueking/open-telemetry 0.0.31 → 0.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +71 -33
  2. package/dist/bk-rum.global.js +2 -2
  3. package/dist/bk-rum.global.js.map +1 -1
  4. package/dist/core/plugin.d.ts +3 -0
  5. package/dist/index.js +461 -354
  6. package/dist/index.js.map +1 -1
  7. package/dist/plugins/web-vitals.d.ts +1 -1
  8. package/dist/schema/attributes.d.ts +1 -0
  9. package/dist/schema/span.d.ts +10 -0
  10. package/package.json +1 -1
  11. package/skills/bk-rum-otele/SKILL.md +1 -1
  12. package/skills/bk-rum-otele/evals/evals.json +1 -1
  13. package/skills/bk-rum-otele/references/actions.md +16 -10
  14. package/skills/bk-rum-otele/references/api.md +6 -3
  15. package/skills/bk-rum-otele/references/architecture.md +4 -4
  16. package/skills/bk-rum-otele/references/blank-screen.md +10 -19
  17. package/skills/bk-rum-otele/references/capabilities.md +18 -18
  18. package/skills/bk-rum-otele/references/configuration.md +5 -5
  19. package/skills/bk-rum-otele/references/data-model.md +14 -16
  20. package/skills/bk-rum-otele/references/errors-security.md +9 -8
  21. package/skills/bk-rum-otele/references/extensions.md +8 -0
  22. package/skills/bk-rum-otele/references/framework-integration.md +1 -1
  23. package/skills/bk-rum-otele/references/getting-started.md +21 -2
  24. package/skills/bk-rum-otele/references/network.md +21 -22
  25. package/skills/bk-rum-otele/references/performance.md +14 -25
  26. package/skills/bk-rum-otele/references/privacy.md +1 -1
  27. package/skills/bk-rum-otele/references/session-context.md +16 -12
  28. package/skills/bk-rum-otele/references/span-protocol.md +192 -282
  29. package/skills/bk-rum-otele/references/telemetry-reference.md +97 -99
  30. package/skills/bk-rum-otele/references/transport-sampling.md +19 -14
  31. package/skills/bk-rum-otele/references/troubleshooting.md +4 -4
  32. package/skills/bk-rum-otele/references/views-routing.md +5 -4
@@ -13,7 +13,7 @@ View 表示一次可独立分析的页面体验。初始文档加载、SPA 路
13
13
  | `bf_cache` | 从 Back/Forward Cache 恢复 | `view` |
14
14
  | `session_renewal` | Session 过期后新 Session 接管当前页面 | `view` |
15
15
 
16
- 每个 View 都生成新的 `view.id`。View 的 URL、路由模板和自定义属性作为运行时上下文挂到其间发生的普通 Span;名称只在业务显式命名后才带上。
16
+ 每个 View 都生成新的 `view.id`。View 的 URL、路由模板、名称和自定义属性作为运行时上下文挂到其间发生的普通 Span。
17
17
 
18
18
  ## 自动路由模式
19
19
 
@@ -56,7 +56,7 @@ bkOT.startView({
56
56
 
57
57
  默认 `view.url_template` 取 URL pathname 并把数字 ID、UUID、长十六进制段折叠为 `:id`。请求和静态资源 Span 的 `url.template` 复用同一套折叠规则,但走独立的 `tracking.request.getUrlTemplate`。静态资源先通过 `redactUrl` 脱敏,再生成模板。
58
58
 
59
- `view.name` 与 `view.url_template` 是两个不同维度:前者是业务给出的可读标签(「订单详情」),后者是路由模板(`/orders/:id`)。**只有显式调用 `startView({ name })` 或 `setViewName()` 时才会上报 `view.name`**,未命名的 View 不带该字段,后端展示时用 `view.name ?? view.url_template` 兜底即可。这样 `view.name` 的存在本身就表示"业务命名过",也不会在每条 Span 上重复一份模板字符串。
59
+ `view.name` 是视图名称,`view.url_template` 是路由模板(如 `/orders/:id`)。SDK 优先使用 `startView({ name })` 或 `setViewName()` 设置的名称;未显式设置时,`view.name` 默认取 `view.url_template`。
60
60
 
61
61
  ```ts
62
62
  tracking: {
@@ -78,7 +78,7 @@ tracking: {
78
78
  bkOT.setViewName('订单详情-只读');
79
79
  ```
80
80
 
81
- 名称变化不会创建新 View,但会更新运行时上下文并发送 `browser.view` update。传入与当前相同名称时不发送更新。首次调用会让此后的 Span 开始带上 `view.name`。
81
+ 名称变化不会创建新 View,但会更新运行时上下文并发送 View update Span。传入与当前相同名称时不发送更新,此后的 Span 使用新名称。
82
82
 
83
83
  ## URL 与前序页面
84
84
 
@@ -92,7 +92,7 @@ bkOT.setViewName('订单详情-只读');
92
92
 
93
93
  ## View 生命周期 Span
94
94
 
95
- Span 名固定为 `browser.view`:
95
+ Span 名使用 `view.name`:
96
96
 
97
97
  | phase | 触发 |
98
98
  | --- | --- |
@@ -144,6 +144,7 @@ Span 名固定为 `browser.view`:
144
144
  - 初始加载:只要能取得 `loadEventEnd`,即使前 100ms 没有其他活动,也可生成 Loading Time;最终取 `loadEventEnd` 与页面活动结束耗时的较大值。
145
145
  - SPA/BFCache/Session Renewal:只有观察到页面活动时才生成自动 Loading Time,取 View 开始到页面活动结束的耗时。
146
146
  - 页面在计算期间变为 hidden:取消自动计算,不上报不可靠结果。
147
+ - **创建 View 时页面已经是 hidden:完全不启动自动计算**,之后回到前台也不会补算。后台标签页预加载、`target=_blank` 打开的页面因此常常没有 `view.loading_time`;这类场景需要 `setViewLoadingTime()` 手动确认。
147
148
 
148
149
  `view.loading_time_source=auto` 表示自动计算。
149
150