664efb9ed5
Sample fleet averages every heartbeat flush into fleet_metric_samples; expose GET /api/servers/fleet-metrics and Dashboard sparkline card (B-02). Co-authored-by: Cursor <cursoragent@cursor.com>
1.1 KiB
1.1 KiB
审计 — Dashboard 24h 舰队趋势(B-02)
Changelog: docs/changelog/2026-06-09-dashboard-24h-fleet-metrics.md
变更文件清单
| 文件 | 说明 |
|---|---|
server/utils/fleet_metrics.py |
舰队均值聚合 |
server/infrastructure/database/fleet_metric_repo.py |
采样 CRUD + purge |
server/background/heartbeat_flush.py |
10min 写入样本 |
server/api/servers.py |
fleet-metrics API |
server/infrastructure/database/migrations.py |
fleet_metric_samples 表 |
frontend/src/components/dashboard/DashboardFleetTrends.vue |
v-sparkline |
frontend/src/pages/DashboardPage.vue |
挂载趋势卡 |
tests/test_fleet_metrics.py |
单测 + API |
Step 3 规则扫描
| 规则 | 结论 |
|---|---|
| 分层 | PASS — API 只读,聚合在 utils/repo |
| 性能 | PASS — 7 天约 1k 行;purge 每 flush |
| 静默吞错 | PASS — 前端 load 失败显示空状态 |
Closure
| 项 | 结果 |
|---|---|
test_fleet_metrics.py |
passed |
npm run type-check |
passed |
DoD
- design + plan + changelog
- B-02 alignment-plan 待勾选
- 无新 npm 依赖