主要更新内容
- JS 运行时迁移至 moejs:将插件及 Node.js 兼容模块的底层引擎从
dop251/goja+goja_nodejs替换为Calcium-Ion/moejs,涉及internal/plugin、pkg/jsruntime下全部模块(buffer、child_process、console、crypto、events、fetch、fs、http、net、os、path、process 等),并新增pkg/jsruntime/native、pkg/jsruntime/loop、pkg/jsruntime/buffer包。 - Ping 队列独立容量:ping 记录批处理队列从与 report 队列共享 512 容量改为独立的 4096 容量,避免高并发 ping 上报时阻塞常规指标写入。
- 指标查询性能优化:
legacy_records.go中逐指标串行查询改为SeriesBatch批量查询,减少数据库往返次数;同时降低查询路径上的对象分配数量。 - 代码简化:
database/accounts、database/clients、database/tasks、internal/metricstore等包移除冗余错误处理分支和 nil 检查,统一使用直接返回.Error的写法。
Bug修复
- 修复 ping 队列容量不足导致高负载下 ping 记录丢失的问题(PR #695)。
其他
- README(中英文)新增 MooProxy 赞助商条目。
.gitignore新增.gocache/忽略规则。- 移除
cmd/flags/config_test.go和internal/sqlitetune/connector_test.go两个已过时的测试文件。 go.mod更新:移除 goja 相关依赖,引入 moejs v0.1.0-alpha.9;stretchr/testify升级至 v1.12.1。internal/server/runtime.go中过期通知定时任务函数名由CheckExpireScheduledWork改为CheckExpire。
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
- JS运行时换成moejs (d50cc0a) @Akizon77
New Contributors
- @cristianchiriac made their first contribution in #695
Full Changelog: 1.6.0...Snapshot-2610221415