feat(p54): chart.js 視覺微調 — KPI sparkline + verdict 圓餅 + heal 趨勢
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
R-1: ai_calls KPI 卡片加 24h sparkline
- 呼叫次數卡片下加 24px 高 mini line chart(藍)
- 成本卡片下加 sparkline(黃)
- 錯誤次數卡片下加 sparkline(紅)
- Token / 平均耗時 / RAG 命中卡片改顯示「平均 tk/call」「cache 命中數」「RAG 命中率%」
- 整排 KPI 從乾巴巴數字 → 含 24h 趨勢視覺
- 共用 chart.js dataset,無新 query
R-2: business_intel verdict 改 doughnut + 表格雙視角
- 取代原 col-md-3 卡片網格
- 左圓餅:effective(綠)/backfired(紅)/neutral(灰) 視覺比例
- 右表格:4 欄(verdict/筆數/佔比/平均 Δ)含正負色
- 與 quality_trend RAG pie chart 視覺風格統一
R-3: host_health AIOps card 加 7d 自癒成功率 sparkline
- routes/admin_observability_routes.py 新加 heal_daily query
date_trunc('day') GROUP BY 7 天每日 success rate
- AIOps 7d card 底部加 80px 高 line chart
- Y 軸 0-100% / X 軸 7 天日期
- tooltip 顯示「ok/total 成功 (rate%)」
chart.js 視覺化從 4 個 → 7 個:
hourly trend / 30d stacked / 三主機 sparkline / RAG doughnut /
KPI sparkline × 3 / verdict doughnut / heal trend
Phase 38→54 累計 19 commits / 10 觀測頁 + topbar indicator / 7 chart.js。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2347,6 +2347,27 @@ def host_health_dashboard():
|
||||
float(heal_rows[1] or 0) / float(heal_rows[0]) * 100
|
||||
) if heal_rows[0] else 0,
|
||||
}
|
||||
|
||||
# Phase 54 R-3: heal 7d daily success rate sparkline
|
||||
heal_daily = _session2.execute(
|
||||
sa_text("""
|
||||
SELECT date_trunc('day', created_at)::date AS d,
|
||||
COUNT(*) AS total,
|
||||
COUNT(*) FILTER (WHERE result = 'success') AS ok
|
||||
FROM heal_logs
|
||||
WHERE created_at >= NOW() - INTERVAL '7 days'
|
||||
GROUP BY d ORDER BY d ASC
|
||||
"""),
|
||||
).fetchall()
|
||||
aiops_summary['heal_sparkline'] = [
|
||||
{
|
||||
'date': r[0].strftime('%m-%d') if r[0] else '',
|
||||
'total': int(r[1] or 0),
|
||||
'ok': int(r[2] or 0),
|
||||
'rate': (float(r[2] or 0) / float(r[1]) * 100) if r[1] else 0,
|
||||
}
|
||||
for r in heal_daily
|
||||
]
|
||||
except Exception:
|
||||
aiops_summary = {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user