1.5 KiB
1.5 KiB
问题分析
CPU使用率卡片在WebSocket实时更新时没有刷新数据,原因是:
processRealTimeData函数调用了updateStatsCards(stats),但该函数的CPU使用率更新逻辑可能没有被正确执行processRealTimeData函数对其他卡片(如平均响应时间、最常用查询类型、活跃IP数)有单独的更新逻辑,但缺少了CPU使用率卡片的更新逻辑loadDashboardData函数中有完整的CPU使用率更新逻辑,这就是为什么页面初始加载时CPU使用率能显示,但后续WebSocket更新时不能显示的原因
修复方案
- 在
processRealTimeData函数中添加CPU使用率卡片的更新逻辑:类似于loadDashboardData函数中的实现 - 确保从
stats对象中正确获取CPU使用率数据:支持从不同的数据结构中获取CPU使用率 - 更新DOM元素:将获取到的CPU使用率数据更新到
cpu-usage和cpu-status元素中 - 添加状态判断:根据CPU使用率值设置不同的状态文本和样式
实现步骤
- 打开
dashboard.js文件 - 找到
processRealTimeData函数(约第120行) - 在函数末尾添加CPU使用率更新逻辑,位于其他卡片更新逻辑之后
- 确保从
stats对象中正确获取CPU使用率数据 - 更新
cpu-usage和cpu-status元素的内容和样式 - 测试修复是否生效
预期效果
修复后,当WebSocket接收到实时数据更新时,CPU使用率卡片会自动更新显示最新的CPU使用率和状态,与其他统计卡片保持一致的实时更新效果。