Skip to content

按环境配置采样、熔断与灰度 ​

上报量控制、紧急止血、灰度放量都通过 CDN 远程配置 完成——改完上传即生效、无需发版。本指南给出常见运维动作。

前置:已能构造并初始化 TripoLens(app / configUrl / endpoint 三个必填),见 快速开始;并能修改 configUrl 指向的 CDN 配置文件。

不同环境指向不同配置 ​

让生产 / 预发各用一份 CDN 配置,靠环境变量切 configUrl:

ts
const trace = new TripoLens({
  app: 'shop',
  configUrl: import.meta.env.VITE_LENS_CONFIG_URL, // 各环境注入不同地址
  endpoint: import.meta.env.VITE_LENS_ENDPOINT, // 各环境注入不同上报地址
});

压低上报量(采样) ​

采样率字符串 '1'–'10' 映射 10%–100%('10' = 全量)。

diff
  "control": {
-   "performance": "10"   // 性能 100%
+   "performance": "1"    // 性能降到 10%
  }
想限的字段
性能整体采样control.performance
某行为坐标采样control.custom({ key: TracePath前缀, val: '1'–'10' })
错误 / 性能技术域坐标采样control.tech
track 自定义事件采样track.rate

错误不靠采样控量

错误无节点级采样率、内置默认 100% 入管线(control.tech 坐标级规则可覆盖错误 / 性能坐标)。要减少错误量优先用远程 error.filter 黑名单,而非采样。

线上紧急熔断(killSwitch) ​

怀疑上报有问题,先止血——几分钟 CDN 生效,全量停报:

diff
- "killSwitch": false
+ "killSwitch": true

killSwitch 与 fail-open 方向相反,区别见 远端配置治理。

灰度放量 ​

对登录用户按比例 / 定向放量 track 采集:

jsonc
"track": {
  "trackGray": 0.5,      // 对登录用户 50% 比例开关
  "userId": ["*"]        // 定向白名单;'*' 全部,或列指定 user_id
}

新投放渠道放量则往白名单加项:

diff
- "utm": { "utmSource": ["baidu", "google"] }
+ "utm": { "utmSource": ["baidu", "google", "bytedance"] }

验证生效 ​

改完等 CDN 缓存过期(建议 max-age=300),刷新页面用 DevTools 观察上报量变化;完全无上报先排除 killSwitch 与可达性,见 排查:没有上报。

相关 ​

基于 MIT 协议发布(内部使用)