fix: plp 输出展示错误

This commit is contained in:
td-zhangshun 2025-04-23 19:28:02 +08:00 committed by Netlops
parent 3c1cc26896
commit 6e8daf980d
3 changed files with 5 additions and 4 deletions

View File

@ -196,7 +196,7 @@ func (c *Client) MonitorTestStatus(testID string) error {
return return
case "integrity": case "integrity":
if info, ok := update.Data.(map[string]interface{}); ok { if info, ok := update.Data.(map[string]interface{}); ok {
c.logger.Infof("数据完整性: 可用块: %.0f, 损坏块: %.0f, 丢失块: %.0f, 数据丢失: %.2f MB", c.logger.Infof("数据完整性: 可用块: %.0f, 损坏块: %.0f, 没写入块: %.0f, 数据丢失: %.2f MB",
info["available_blocks"], info["corrupted_blocks"], info["missing_blocks"], info["data_loss_mb"]) info["available_blocks"], info["corrupted_blocks"], info["missing_blocks"], info["data_loss_mb"])
} }
} }

View File

@ -487,11 +487,12 @@ func StartServer(cfg *config.Config, runner *TestRunner, logger *logrus.Logger)
// 保存完整性信息 // 保存完整性信息
runner.SaveIntegrityInfo(testID, integrityInfo) runner.SaveIntegrityInfo(testID, integrityInfo)
// 发送完整性信息 // 发送完整性信息 && BlocksMap 清理掉
integrityInfo.BlocksMap = nil
runner.sendIntegrityUpdate(testID, "数据完整性检查完成", integrityInfo) runner.sendIntegrityUpdate(testID, "数据完整性检查完成", integrityInfo)
logger.Infof("恢复测试完成: 丢失数据: %.2f MB", integrityInfo.DataLossMB) logger.Infof("恢复测试完成: 没填充的数据: %.2f MB", integrityInfo.DataLossMB)
} else { } else {
logger.Error("不是断电测试实例,无法执行数据完整性检查") logger.Error("不是断电测试实例,无法执行数据完整性检查")
runner.sendErrorUpdate(testID, "不是断电测试实例,无法执行数据完整性检查") runner.sendErrorUpdate(testID, "不是断电测试实例,无法执行数据完整性检查")

View File

@ -403,7 +403,7 @@ func (t *PowerLossTest) CheckIntegrity() *model.IntegrityInfo {
t.integrityInfo.DataLossMB = utils.BytesToMB((t.integrityInfo.MissingBlocks + t.integrityInfo.CorruptedBlocks) * t.blockSize) t.integrityInfo.DataLossMB = utils.BytesToMB((t.integrityInfo.MissingBlocks + t.integrityInfo.CorruptedBlocks) * t.blockSize)
t.integrityInfo.RecoverySuccess = t.integrityInfo.CorruptedBlocks == 0 && t.integrityInfo.MissingBlocks == 0 t.integrityInfo.RecoverySuccess = t.integrityInfo.CorruptedBlocks == 0 && t.integrityInfo.MissingBlocks == 0
t.setMessage(fmt.Sprintf("数据完整性检查完成: %d 个块正常, %d 个块丢失, %d 个块损坏", t.setMessage(fmt.Sprintf("数据完整性检查完成: %d 个块正常, %d 个块没写入, %d 个块损坏",
t.integrityInfo.AvailableBlocks, t.integrityInfo.MissingBlocks, t.integrityInfo.CorruptedBlocks)) t.integrityInfo.AvailableBlocks, t.integrityInfo.MissingBlocks, t.integrityInfo.CorruptedBlocks))
return t.integrityInfo return t.integrityInfo