主要更新内容
- 指标存储架构重写:精确采样点不再持久化,改为内存中保留10分钟;rollup 存储使用规范化模式(字典内联、外键约束),大幅降低写入延迟和存储碎片。
- 安装引导流程变更:去除自动密码获取,新部署将在首次访问时通过网页向导创建管理员账号。
- 数据库迁移统一:旧的 1.2.7 升级逻辑替换为通用迁移循环,支持导入遗留监控数据和自动重建指标存储结构。
- 默认 rollup 策略调整:增加 24 小时滚动层级,最长保留期延长至约 100 年;原始保留窗口缩短为 10 分钟;t-digest 默认压缩度调低至 30(更节省内存)。
- SQLite 配置优化:WAL 自动 checkpoint 页数从 1000 降至 256,新增日志大小限制(1 MB),降低 WAL 膨胀。
- 公开 Ping 任务响应增加
weight字段:前端可使用该值控制任务权重。 - 移除低资源模式:废弃
low_resource_mode配置及相关客户端降级逻辑。 - 指标查询参数清理:移除已弃用的
downsample、server_downsample等参数,简化为统一aggregation/algorithm。
Bug修复
- 避免指标入库写饥饿:修复 compaction 与写入并发时的写饥饿问题。
- 热 rollup flush 时机优化:推迟关闭后的热 rollup 刷新,确保精确 upsert 窗口内数据不丢失。
其他
- 启动循环中新增指标存储结构完整性检测,检测到不兼容模式后自动触发重建向导。
- 启动脚本简化:不再自动打印初始密码,引导用户访问 Web 安装向导。
- 更新测试用例适配新的内存原始窗口和分钟级聚合语义。
Commits
- refactor: remove automatic password retrieval, guide user to web setup (045f24e) @Akizon77
- fix(metricstore): avoid compaction write starvation (17aa37c) @Akizon77
- feat: add weight field to public ping task response (c7819cd) @Akizon77
- refactor: replace legacy upgrade with database migration loop (b8c1008) @Akizon77
- fix(metric): defer hot rollup flush for exact upsert window (0103b99) @Akizon77
- feat(metricstore): extend raw retention to 10 min, block reload if upgrade needed (c3c3ed8) @Akizon77
Full Changelog: 1.3.0...Snapshot-2607272244