面板布局:
┌─────────────────────────────┐
│ Rate (每秒请求数) │ ← 折线图, 按 method 分色
├─────────────────────────────┤
│ Errors (错误率 %) │ ← 折线图, 区分 4xx/5xx
├─────────────────────────────┤
│ Duration (p50/p90/p99) │ ← 折线图, 三条线
├──────────┬──────────────────┤
│ p99 延迟│ Heatmap 分布 │ ← 左: Stat, 右: Heatmap
│ (大数字) │ │
├──────────┴──────────────────┤
│ Top N 慢接口 │ ← Table, topk(10, ...)
└─────────────────────────────┘
错误预算消耗图:
- 剩余错误预算: (<SLO> - <当前错误率>) / <SLO>
- 燃尽图: 显示本月错误预算消耗速率
- 告警: 消耗 > 50% 黄色, > 80% 红色
公式:
1 - (sum(rate(errors[30d])) / sum(rate(total[30d])))