github komari-monitor/komari Snapshot-2610191722

pre-releaseone hour ago

主要更新内容

  • 指标存储查询性能优化:引入 queryStateArena 对象池(64 槽/块,最多缓存 64 块),减少批量序列查询时的堆分配;新增轻量 queryRollupSummary 避免在查询状态中保留标签 JSON。
  • 批量序列查询:legacy_records.go 将逐指标 Series 调用合并为单次 SeriesBatch,减少数据库往返。
  • Rollup 写入批量化:rollup_store.go 将逐 key 读取/写入改为批量读取 + 批量 upsert,降低事务内 SQL 次数。
  • 原始数据写入优化:raw_points.go 仅对当前批次触及的序列执行压缩与裁剪(O(points)),不再全量扫描所有序列。
  • Hot/Coarse Rollup 扫描跳过:新增 hotOldest / coarseNextClose 下界追踪,无到期桶时直接跳过遍历。
  • 指标定义缓存:Store 新增 1 秒 TTL 的 retention 缓存,避免写入路径重复查询定义表。
  • 空标签指纹短路:tagsFingerprint 对空 map 直接返回预计算常量,跳过 canonicalTags 调用。
  • 代码简化:大量使用 Go 1.21+ 内置函数(min/max/slices/maps)替换手写逻辑;精简错误处理、移除冗余 nil 检查和注释。

Bug修复

  • Restructure 和 DiscardHistory 操作后现在会失效指标定义缓存,防止 schema 变更后写入路径使用过期 retention 值。

其他

  • README(中英文)移除微信赞赏码,仅保留 TRON Network 打赏方式。
  • .gitignore 新增 .gocache/ 条目。
  • 移除网络依赖的 GeoIP 集成测试、PostgreSQL/MySQL 集成测试文件及若干常量断言测试。
  • 移除 CheckExpireScheduledWork 包装函数,调度器直接调用 CheckExpire。

Commits

Full Changelog: 1.6.0...Snapshot-2610191722

Don't miss a new komari release

NewReleases is sending notifications on new releases.