fix: DevTools 仪表盘平均请求延迟显示进程运行时间而非实际请求耗时

- performance.js: 新增 recordLatency/getAverageLatency, 用 HTTP 请求环缓冲区替换 pidusage elapsed
- index.js: 新增 Express 中间件追踪每个请求耗时
- index.html: 移除前端 elapsed-based fallback 计算

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-24 16:37:25 +08:00
parent 189f7b999b
commit 271a3a048d
4 changed files with 35 additions and 17 deletions
+1 -8
View File
@@ -1286,15 +1286,8 @@ async function updatePerformanceDashboard(perfData) {
const cpuLevel = avgCpu > 80 ? 'cpu-high' : avgCpu > 50 ? 'cpu-mid' : 'cpu-low';
const memLevel = totalMem > 1024 ? 'mem-high' : totalMem > 512 ? 'mem-mid' : 'mem-low';
// 计算平均延迟 (基于活跃连接和服务数估算,或使用 perf 数据中的 elapsed)
// 计算平均延迟 (从 API 获取实际请求耗时)
let avgLatency = '—';
let totalElapsed = 0, elapsedCount = 0;
for (const [, p] of entries) {
if (p.elapsed && p.elapsed > 0) { totalElapsed += p.elapsed; elapsedCount++; }
}
if (elapsedCount > 0) {
avgLatency = Math.round(totalElapsed / elapsedCount) + 'ms';
}
// 获取趋势数据 (从性能仪表盘 API)
let trendCpu = '→', trendMem = '→';