diff --git a/routers/api/v1/repo/cloudbrain_dashboard.go b/routers/api/v1/repo/cloudbrain_dashboard.go index 3fcc10826..e14963639 100755 --- a/routers/api/v1/repo/cloudbrain_dashboard.go +++ b/routers/api/v1/repo/cloudbrain_dashboard.go @@ -187,6 +187,9 @@ func GetOverviewDuration(ctx *context.Context) { cardNum := 1 durationSum := int64(0) durationSumAll := int64(0) + cloudBrainOneSum := int64(0) + cloudBrainTwoSum := int64(0) + c2NetSum := int64(0) for count == pagesize && count != 0 { cloudbrains, _, err := models.CloudbrainAllStatic(&models.CloudbrainsOptions{ ListOptions: models.ListOptions{ @@ -204,7 +207,6 @@ func GetOverviewDuration(ctx *context.Context) { models.LoadSpecs4CloudbrainInfo(cloudbrains) for _, cloudbrain := range cloudbrains { - duration := cloudbrain.Duration if cloudbrain.WorkServerNumber >= 1 { worker_server_num = cloudbrain.WorkServerNumber } else { @@ -215,16 +217,26 @@ func GetOverviewDuration(ctx *context.Context) { } else { cardNum = 1 } - + duration := cloudbrain.Duration durationSum = duration * int64(worker_server_num) * int64(cardNum) - durationSumAll = durationSum + durationSumAll + if cloudbrain.Cloudbrain.Type == models.TypeCloudBrainOne { + cloudBrainOneSum += durationSum + } else if cloudbrain.Cloudbrain.Type == models.TypeCloudBrainTwo { + cloudBrainTwoSum += durationSum + } else if cloudbrain.Cloudbrain.Type == models.TypeC2Net { + c2NetSum += durationSum + } + + durationSumAll += durationSum count = len(cloudbrains) page += 1 } } - log.Info("durationSumAll:", durationSumAll) ctx.JSON(http.StatusOK, map[string]interface{}{ - "durationSum": durationSum, + "cloudBrainOneSum": cloudBrainOneSum, + "cloudBrainTwoSum": cloudBrainTwoSum, + "c2NetSum": c2NetSum, + "durationSumAll": durationSumAll, }) } diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index d28f8178b..8051abdb2 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -2841,12 +2841,17 @@ func GetCloudbrainCluster(task models.Cloudbrain, ctx *context.Context) string { return "" } func GetCloudbrainCardDuration(task models.Cloudbrain) string { + cardNum := int(0) spec, err := resource.GetCloudbrainSpec(task.ID) if err != nil { log.Info("error:" + err.Error()) return "" } - cardNum := spec.AccCardsNum + if spec != nil { + cardNum = spec.AccCardsNum + } else { + cardNum = 1 + } var workServerNumber int64 if task.WorkServerNumber >= 1 { workServerNumber = int64(task.WorkServerNumber)