AI 工程实践

OpenTelemetry 只读队列实验:旧数据没坏,Collector 为什么仍启动失败

Jaeger 停止后,三个稳定 span 均获 HTTP 200 并进入 bbolt queue。挂载同一 volume 为只读的 replacement Collector 以 exit code 1 退出,health 与第 4 批均为 ECONNREFUSED;失败前后 65,536-byte 数据库 SHA-256 一致。恢复读写后 loaded=3、sent=3,只重放第 4 批,Jaeger 最终 4 unique、0 duplicate、0 missing。

发布 2026/07/16更新 2026/07/16

AI 工程实践

OpenTelemetry 运行期 EIO 实验:health 还是 200,为什么已经拒绝数据

64 MiB ext4 队列在 linear target 下接受三批;在线切换 device-mapper error 后,独立 block read 返回 EIO,但 Collector health 仍为 200,第 4 批收到 EROFS 503,metrics 为 accepted/refused 3/1、queue 4/20。恢复 linear 后 fsck clean、数据库哈希不变,replacement 恢复三批,只重放第 4 批后 Jaeger 4 unique、0 missing。

发布 2026/07/16更新 2026/07/16

AI 工程实践

OpenTelemetry 存储上限实验:Queue 显示 6/20,重启为什么只恢复 4 批

queue capacity 为 20,但 bbolt max_size 只有 65,536 bytes。前四个请求 HTTP 200,第五、第六个收到 storage available-space 503;metrics 为 accepted 4 / refused 2 / enqueue failed 2,却显示 queue 6/20。保留 volume、提高上限并重建 Collector 后只加载 4 items;定向重放被拒绝 IDs 后 Jaeger 最终 6 unique、0 missing。

发布 2026/07/15更新 2026/07/15

AI 工程实践

OpenTelemetry 持久队列排空实验:12 批积压清空后,磁盘为什么没有缩小

下游不可达时,12 个单-span 请求全部从应用获得 HTTP 200,并形成 queue 12/20;bbolt 逻辑大小从 32,768 增至 262,144 bytes。单 consumer 在每次后端成功后固定等待 250 ms,用 3,129.727 ms 排空,观测 3.8342 spans/s;queue 归零后文件仍为 262,144 bytes,Jaeger 最终 12 unique、0 missing。

发布 2026/07/15更新 2026/07/15

AI 工程实践

OpenTelemetry 真满盘实验:5 个 200 之后,为什么必须异卷恢复

Collector queue capacity 仍是 20,file_storage 不设置 max_size,底层 64 KiB tmpfs 被真实写满。前五批 HTTP 200、第六批 503;accepted/refused 为 5/1,但 queue gauge 显示 6。停机后把 131,072-byte 稀疏 bbolt 文件按字节复制到 256 KiB tmpfs,源/目标 SHA-256 一致;replacement 恢复五批,只重放第六批后 Jaeger 6 unique、0 missing。

发布 2026/07/15更新 2026/07/15

AI 工程实践

GPT-5 首发复盘:ChatGPT 路由不是 API 模型合同,升级要按交付物回归

GPT-5 首发同时包含 ChatGPT 中由快速模型、Thinking 与实时 router 组成的产品系统,以及 API 中显式可选的 gpt-5、mini、nano 和 gpt-5-chat-latest;生产系统不能把两者当成同一交付物,必须外置任务路由并把模型、reasoning、verbosity、工具语法、预算和验证器固化为升级合同。

发布 2025/08/09更新 2025/09/13