远端配置治理
lens 的运行期行为可由一份 CDN 远程配置统一治理——改完上传即生效、无需发版。它管三件事:拿不到配置时怎么不崩(fail-open)、要不要紧急停报(killSwitch)、报多少(采样)。这三者常被混淆,理清它们能解释很多「为什么这条没采」「CDN 挂了会怎样」的疑问。
fail-open:配置降级不阻塞
远程配置拉取失败 / 超时(3s 有界)/ 字段非法时,SDK 不放弃、也不阻塞 init(),而是三层降级:
远程配置 → 本地缓存(24h) → 内置默认这保证 CDN 故障时数据不全丢、业务初始化不被拖死。配置的加载链路与字段降级细节见 远程配置 · 加载与降级。
killSwitch ≠ 采样 ≠ fail-open
三者都影响「事件去留」,但语义不同,排查时要分清:
| 机制 | 作用 | 谁控制 |
|---|---|---|
| fail-open | 配置拿不到时的兜底降级,保数据 | SDK 自动 |
| killSwitch | 显式总闸,主动停上报 | 远程配置 |
| 采样 | 按概率 / 坐标抽样上报 | 远程配置 |
killSwitch 与采样都作为 Pipeline 阶段在管线里筛事件:killSwitch 是统一闸断,采样按概率放行(错误无节点级采样率、内置默认 100%,但可被远端 control.tech 坐标级规则降采样;日常控错误量应优先用 error.filter)。
「埋了却没上报」若不是可达性问题,多半是被 killSwitch 或采样过滤——见 排查:没有上报。
落到运维
具体怎么改配置压低上报量、紧急熔断、灰度放量,见任务指南 按环境配置采样、熔断与灰度;完整字段 schema 见 远程配置。