Repository navigation
ContainerCacheGuard v0.2.0-rc.9
Pre-releasev0.2.0-rc.9:低开销标准监控与监测就绪
候选版;PG14真实业务48小时、业务SLO和零驱逐验收仍未完成。本轮未修改171或替换94运行实例。
已实现
复用既有只读Web监听、Basic认证、并发和超时,新增GET/HEAD的/healthz、/readyz及/metrics,不新增扫描线程或目录遍历。进程能响应、监测数据就绪、允许回收分开表达;observe、人工暂停和正常退让仍可监测就绪。指标错误、尚无样本、过期、关键当前内存缺失或异常时间时监测不就绪;错误/过期的资源与工作值不输出为零。所有HTTP接口只读取有界快照,不查询业务。
Prometheus文本含HELP/TYPE及固定枚举标签,记录内存分类、IO、refault、建议/净下降/重新驻留、发现积压、恢复窗口和进程成本。建议范围不是实际释放,IO累计可能因堆叠设备重复计量,refault不能单独归因于CCG,host MemAvailable不是kubelet驱逐信号。指标不包含路径、SQL、容器ID或原始错误标签;版本限定为短构建标识。
metrics.available_metrics与已有读取结果同时构建,无新增内核探测来补造字段;v1缺失类型、省略的OOM/速率和首次差分基线显式可用性为false。只缺少可选字段时已知值仍可查看;缺少file/shmem无法可靠分解时诊断说明不作普通文件总量推断。页面缺失字段显示未知、对应曲线断线,指标时间过旧/异常时整组实时卡片标记未知。
状态新增实际web_address,端口0由系统分配时可以定位监听;不会自动配置容器或节点网络转发。Web关闭时新接口也关闭。
运维接入
完整中文说明包含指标含义、时间窗口、认证、TLS代理、四目标Prometheus例子及告警表达式。不把CCG健康绑定到数据库业务容器liveness;sidecar的readiness也可能影响整个数据库Pod服务就绪,需避免故障耦合。没有自动改任何Pod探针、安装Prometheus或写cgroup。
验证边界
新增原生Linux测试覆盖空样本、已知零/未知字段、采样错误、过期与未来时间、固定标签/格式/隐私、HTTP认证/只读方法、抓取不改变工作计数。CLI从真实daemon和实际cgroup获取三个接口,核对人工暂停仍监测就绪及真实内存值。网页回归覆盖字段缺失与字段级断线。
CI另记录1000次固定快照编码微基准的ns/op、B/op和allocs/op;它只衡量编码,不是HTTP并发压力或整个CCG/数据库资源代价验收。原生两架构最终结果见发布记录;两架构页大小若为4KiB,不能外推64KiB页。
保留rc.8程序及原配置可回退。旧配置可直接读取;新增状态字段和HTTP路径为追加。监测缺失不应当成零,接入方需要同时读取就绪和可用性。
本次实际回归结果
源码提交:e5f24595f60c8f0969cbe7824396cbf60357a966。已下载核对原生CI 42738942714原始日志与构建产物。
| 架构 | 原生race顶层单测 | CLI检查 | 网页检查 | 页大小 | 静态ELF |
|---|---|---|---|---|---|
| amd64 | 44通过,0跳过 | 15通过 | 12通过 | 4096 B | 无INTERP/DYNAMIC段 |
| arm64 | 44通过,0跳过 | 15通过 | 12通过 | 4096 B | 无INTERP/DYNAMIC段 |
| 架构 | 固定快照编码ns/op | B/op | allocs/op | 次数 |
|---|---|---|---|---|
| amd64 | 21690.0 | 17333 | 325 | 1000 |
| arm64 | 24318.0 | 17333 | 325 | 1000 |
该微基准只测内存快照编码,不包含HTTP传输、认证、目录扫描或实际业务,不能据此认定整个守护进程成本或生产SLO通过。
产物直接取自本次原生CI,构建提交与源码标签一致,源码构建标记干净。附件含程序、SHA256、中文说明、LICENSE和机器可读测试JSON。本版本没有在171修改配置,也没有替换94运行实例;真实业务48小时和ARM64 64KiB页验收仍未完成。