主要更新内容
- 指标查询性能优化:遗留记录查询改为批量序列查询(
SeriesBatch),减少数据库往返次数 - 原始数据写入优化:原始点写入时仅对当前批次涉及的序列执行压缩和清理,避免全量扫描,写入复杂度从 O(全部序列) 降为 O(本批点数)
- Rollup 批量读写:粗粒度 rollup 合并时改为批量读取已有行并批量 upsert,减少逐行数据库操作
- 查询状态内存池:新增基于块(block)的查询状态分配器,降低大批量查询时的 GC 压力
- 指标定义缓存:写入路径新增带 TTL 的指标保留天数缓存,避免每次写入都查询定义表
- Hot/Coarse Rollup 扫描优化:引入
hotOldest和coarseNextClose下界追踪,无到期桶时跳过全量扫描 - 空标签快速路径:空标签 map 的指纹计算使用预计算常量,跳过序列化
Bug修复
- Ping 队列容量不足导致丢数据(PR #695):此前报告队列容量从 4096 降至 512 时,Ping 队列也共享了该容量。多客户端同时上报时,单轮超过 512 条的结果会被丢弃(恰好是延迟最高的慢路由)。现在 Ping 队列独立使用 4096 容量,报告队列保持 512 不变
其他
- 多包代码简化:移除冗余 nil 检查、简化错误处理模式、清理死代码和过时注释
- 移除未使用的测试文件(
config_test.go、connector_test.go、postgres_integration_test.go) - 移除
CheckExpireScheduledWork包装函数,调度器直接调用CheckExpire - README 新增 MooProxy 赞助商,移除微信支付说明
.gitignore新增.gocache/条目
What's Changed
- fix(metricstore): give the ping queue its own capacity by @cristianchiriac in #695
Commits
- Update payment options in README (5006f55) @Akizon77
- Update README_zh-cn.md (4b24f1e) @Akizon77
- fix(metricstore): give the ping queue its own capacity (fa5a04d) @cristianchiriac
- 让opus5.5 简化、优化1下代码 (b38b0b2) @Akizon77
- 优化单次查询性能 (3cf8445) @Akizon77
- 查询时对象分配数量可以少一点 (48af63c) @Akizon77
- 感谢新的金主 MooProxy (dc7f4cb) @Akizon77
- 感谢新的金主 MooProxy (7468dcb) @Akizon77
- Merge main into PR 695 and remove added queue test (b704267) @Akizon77
- Merge pull request #695 from cristianchiriac/fix-ping-queue-size (528cea2) @Akizon77
New Contributors
- @cristianchiriac made their first contribution in #695
Full Changelog: 1.6.0...Snapshot-2610200900