DaydreamCoding
bf24b61139
perf(usage): 优化 /admin/usage 打开速度与刷新响应
根因:页面 mount 并发 6 个请求,其中 5 个在原始 usage_logs 上 live 聚合,
且有 1 个重复 getModelStats。优化(不引入预聚合):
前端
- UsageView 经 :model-options 下传 model 列表,移除 UsageFilters 重复的
getModelStats(mount 请求 6→5,少一次 usage_logs 全表 GROUP BY model)
- 刷新/换筛选保留旧模型数据(invalidateModelStatsCache 只失效标记不清空数据),
图表不再闪空,刷新期间页面保持可交互
后端
- GetStatsWithFilters 4 条聚合 errgroup 并行(仅 *sql.DB 连接池路径,ent.Tx
顺序回退以保事务内不并发),endpoint 明细 best-effort;抑制取消级联噪声日志
- /admin/usage/stats 复用 dashboard 的 newSnapshotCache 30s 处理器层缓存,按
filters+窗口为 key;前端手动刷新带 nocache=1 强制回源(刷新=最新)
注:自合并提交 4c8396c 迁移而来,仅取"列表打开速度与刷新响应"部分;原提交的
"审计查看弹窗大 body 渲染"改动(AuditLogModal / audit-log-format / 审计 i18n)
依赖尚未迁移的审计功能(d8389ade),本次已排除。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 18:56:08 +08:00
..
2026-05-26 19:46:08 +08:00
2026-05-03 22:12:57 +08:00
2026-04-09 18:14:28 +08:00
2026-02-11 01:23:21 +08:00
2026-02-28 20:18:14 +08:00
2026-03-16 20:22:10 +08:00
2026-05-19 22:05:43 +08:00
2026-05-19 22:05:43 +08:00
2026-05-19 20:32:32 +08:00
2026-05-19 15:25:34 +08:00
2026-02-28 15:01:20 +08:00
2026-02-10 11:42:39 +08:00
2026-01-04 15:36:00 +08:00
2026-05-27 18:00:45 +08:00
2026-05-07 09:14:47 +08:00
2026-05-29 12:20:30 +08:00
2026-04-15 01:27:24 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-05-20 16:08:41 +08:00
2026-05-28 20:05:24 +08:00
2026-03-05 16:47:01 +08:00
2026-05-27 23:55:34 +08:00
2026-03-18 09:23:19 +08:00
2025-12-26 00:10:44 -08:00
2026-03-27 14:33:05 +08:00
2026-05-30 18:56:08 +08:00
2026-01-01 18:59:06 +08:00
2026-05-30 17:52:18 +08:00