|
|
@@ -36,8 +36,7 @@ func GetAllCloudbrainsOverview(ctx *context.Context) { |
|
|
|
} |
|
|
|
recordBeginTime := recordCloudbrain[0].Cloudbrain.CreatedUnix |
|
|
|
now := time.Now() |
|
|
|
beginTime := now.AddDate(0, 0, 0) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
beginTime := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTime := now |
|
|
|
todayCreatorCount, err := models.GetTodayCreatorCount(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
@@ -49,46 +48,59 @@ func GetAllCloudbrainsOverview(ctx *context.Context) { |
|
|
|
log.Error("Can not query creatorCount.", err) |
|
|
|
return |
|
|
|
} |
|
|
|
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{ |
|
|
|
Type: models.TypeCloudBrainAll, |
|
|
|
}) |
|
|
|
if err != nil { |
|
|
|
ctx.ServerError("Get cloudbrains failed:", err) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
todayStatusResult := make(map[string]int) |
|
|
|
cloudBrainNum := make(map[int]int) |
|
|
|
cloudBrainOneDuration := int64(0) |
|
|
|
cloudBrainTwoDuration := int64(0) |
|
|
|
intelligentNetDuration := int64(0) |
|
|
|
todayNewJobCount := 0 |
|
|
|
for _, cloudbrain := range cloudbrains { |
|
|
|
if int64(cloudbrain.Cloudbrain.CreatedUnix) >= beginTime.Unix() && int64(cloudbrain.Cloudbrain.CreatedUnix) < endTime.Unix() { |
|
|
|
todayNewJobCount += 1 |
|
|
|
if _, ok := todayStatusResult[cloudbrain.Status]; !ok { |
|
|
|
todayStatusResult[cloudbrain.Status] = 1 |
|
|
|
page := 1 |
|
|
|
pagesize := 1000 |
|
|
|
count := pagesize |
|
|
|
for count == pagesize && count != 0 { |
|
|
|
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{ |
|
|
|
ListOptions: models.ListOptions{ |
|
|
|
Page: page, |
|
|
|
PageSize: pagesize, |
|
|
|
}, |
|
|
|
Type: models.TypeCloudBrainAll, |
|
|
|
BeginTimeUnix: int64(recordBeginTime), |
|
|
|
EndTimeUnix: endTime.Unix(), |
|
|
|
}) |
|
|
|
if err != nil { |
|
|
|
ctx.ServerError("Get cloudbrains failed:", err) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
for _, cloudbrain := range cloudbrains { |
|
|
|
if int64(cloudbrain.Cloudbrain.CreatedUnix) >= beginTime.Unix() && int64(cloudbrain.Cloudbrain.CreatedUnix) < endTime.Unix() { |
|
|
|
todayNewJobCount += 1 |
|
|
|
if _, ok := todayStatusResult[cloudbrain.Status]; !ok { |
|
|
|
todayStatusResult[cloudbrain.Status] = 1 |
|
|
|
} else { |
|
|
|
todayStatusResult[cloudbrain.Status] += 1 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if _, ok := cloudBrainNum[cloudbrain.Cloudbrain.Type]; !ok { |
|
|
|
cloudBrainNum[cloudbrain.Cloudbrain.Type] = 1 |
|
|
|
} else { |
|
|
|
todayStatusResult[cloudbrain.Status] += 1 |
|
|
|
cloudBrainNum[cloudbrain.Cloudbrain.Type] += 1 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if _, ok := cloudBrainNum[cloudbrain.Cloudbrain.Type]; !ok { |
|
|
|
cloudBrainNum[cloudbrain.Cloudbrain.Type] = 1 |
|
|
|
} else { |
|
|
|
cloudBrainNum[cloudbrain.Cloudbrain.Type] += 1 |
|
|
|
} |
|
|
|
if cloudbrain.Cloudbrain.Type == models.TypeCloudBrainOne { |
|
|
|
cloudBrainOneDuration = cloudBrainOneDuration + cloudbrain.Cloudbrain.Duration |
|
|
|
} |
|
|
|
if cloudbrain.Cloudbrain.Type == models.TypeCloudBrainTwo { |
|
|
|
cloudBrainTwoDuration = cloudBrainTwoDuration + cloudbrain.Cloudbrain.Duration |
|
|
|
} |
|
|
|
if cloudbrain.Cloudbrain.Type == models.TypeIntelligentNet { |
|
|
|
intelligentNetDuration = intelligentNetDuration + cloudbrain.Cloudbrain.Duration |
|
|
|
} |
|
|
|
|
|
|
|
if cloudbrain.Cloudbrain.Type == models.TypeCloudBrainOne { |
|
|
|
cloudBrainOneDuration = cloudBrainOneDuration + cloudbrain.Cloudbrain.Duration |
|
|
|
} |
|
|
|
if cloudbrain.Cloudbrain.Type == models.TypeCloudBrainTwo { |
|
|
|
cloudBrainTwoDuration = cloudBrainTwoDuration + cloudbrain.Cloudbrain.Duration |
|
|
|
} |
|
|
|
if cloudbrain.Cloudbrain.Type == models.TypeIntelligentNet { |
|
|
|
intelligentNetDuration = intelligentNetDuration + cloudbrain.Cloudbrain.Duration |
|
|
|
} |
|
|
|
|
|
|
|
count = len(cloudbrains) |
|
|
|
page += 1 |
|
|
|
} |
|
|
|
|
|
|
|
statusNameList := []string{string(models.ModelArtsTrainJobCompleted), string(models.JobFailed), string(models.ModelArtsTrainJobInit), |
|
|
@@ -137,26 +149,22 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
endTimeStr := ctx.QueryTrim("endTime") |
|
|
|
var beginTime time.Time |
|
|
|
var endTime time.Time |
|
|
|
var endTimeTemp time.Time |
|
|
|
dateCloudbrainNum := make([]DateCloudbrainNum, 0) |
|
|
|
if queryType != "" { |
|
|
|
if queryType == "all" { |
|
|
|
beginTime = brainRecordBeginTime |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
endTimeTemp := time.Date(endTimeTemp.Year(), endTimeTemp.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
dateCloudbrainNum, err = getMonthCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
dateCloudbrainNum, err = getMonthCloudbrainNum(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getMonthCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getMonthCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} else if queryType == "today" { |
|
|
|
beginTime = now.AddDate(0, 0, 0) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = now |
|
|
|
endTime = now |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
beginTime = time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
// endTimeTemp = now |
|
|
|
endTime = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
@@ -165,9 +173,8 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
} else if queryType == "yesterday" { |
|
|
|
beginTime = now.AddDate(0, 0, -1) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
endTime = time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
@@ -177,9 +184,8 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
beginTime = now.AddDate(0, 0, -6) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
endTimeTemp = time.Date(endTimeTemp.Year(), endTimeTemp.Month(), endTimeTemp.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
|
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
@@ -189,8 +195,7 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
beginTime = now.AddDate(0, 0, -29) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
@@ -199,8 +204,7 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
} else if queryType == "current_month" { |
|
|
|
endTime = now |
|
|
|
beginTime = time.Date(endTime.Year(), endTime.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
@@ -209,8 +213,8 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
} else if queryType == "current_year" { |
|
|
|
endTime = now |
|
|
|
beginTime = time.Date(endTime.Year(), 1, 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
dateCloudbrainNum, err = getMonthCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
// endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
dateCloudbrainNum, err = getMonthCloudbrainNum(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getMonthCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getMonthCloudbrainNum_get_error")) |
|
|
@@ -221,8 +225,7 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
lastMonthTime := now.AddDate(0, -1, 0) |
|
|
|
beginTime = time.Date(lastMonthTime.Year(), lastMonthTime.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
@@ -235,9 +238,7 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
//如果查询类型和开始时间结束时间都未设置,按queryType=all处理 |
|
|
|
beginTime = brainRecordBeginTime |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
endTimeTemp := time.Date(endTimeTemp.Year(), endTimeTemp.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
dateCloudbrainNum, err = getMonthCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
dateCloudbrainNum, err = getMonthCloudbrainNum(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getMonthCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getMonthCloudbrainNum_get_error")) |
|
|
@@ -259,8 +260,7 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
if endTime.After(time.Now()) { |
|
|
|
endTime = time.Now() |
|
|
|
} |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
@@ -297,7 +297,6 @@ func GetAllCloudbrainsTrendDetail(ctx *context.Context) { |
|
|
|
if queryType == "all" { |
|
|
|
beginTime = brainRecordBeginTime |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
dayCloudbrainInfo, count, err = getMonthCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
@@ -307,7 +306,6 @@ func GetAllCloudbrainsTrendDetail(ctx *context.Context) { |
|
|
|
} else if queryType == "today" { |
|
|
|
beginTime = now.AddDate(0, 0, 0) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = now |
|
|
|
endTime = now |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
@@ -319,7 +317,6 @@ func GetAllCloudbrainsTrendDetail(ctx *context.Context) { |
|
|
|
} else if queryType == "yesterday" { |
|
|
|
beginTime = now.AddDate(0, 0, -1) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
endTime = time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
@@ -329,10 +326,9 @@ func GetAllCloudbrainsTrendDetail(ctx *context.Context) { |
|
|
|
} |
|
|
|
|
|
|
|
} else if queryType == "last_7day" { |
|
|
|
beginTime = now.AddDate(0, 0, -6) //begin from monday |
|
|
|
beginTime = now.AddDate(0, 0, -6) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
endTimeTemp = time.Date(endTimeTemp.Year(), endTimeTemp.Month(), endTimeTemp.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
@@ -341,10 +337,9 @@ func GetAllCloudbrainsTrendDetail(ctx *context.Context) { |
|
|
|
return |
|
|
|
} |
|
|
|
} else if queryType == "last_30day" { |
|
|
|
beginTime = now.AddDate(0, 0, -29) //begin from monday |
|
|
|
beginTime = now.AddDate(0, 0, -29) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
@@ -354,7 +349,6 @@ func GetAllCloudbrainsTrendDetail(ctx *context.Context) { |
|
|
|
} else if queryType == "current_month" { |
|
|
|
endTime = now |
|
|
|
beginTime = time.Date(endTime.Year(), endTime.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
@@ -365,7 +359,6 @@ func GetAllCloudbrainsTrendDetail(ctx *context.Context) { |
|
|
|
} else if queryType == "current_year" { |
|
|
|
endTime = now |
|
|
|
beginTime = time.Date(endTime.Year(), 1, 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
dayCloudbrainInfo, count, err = getMonthCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
@@ -378,7 +371,6 @@ func GetAllCloudbrainsTrendDetail(ctx *context.Context) { |
|
|
|
lastMonthTime := now.AddDate(0, -1, 0) |
|
|
|
beginTime = time.Date(lastMonthTime.Year(), lastMonthTime.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
@@ -393,8 +385,6 @@ func GetAllCloudbrainsTrendDetail(ctx *context.Context) { |
|
|
|
//如果查询类型和开始时间结束时间都未设置,按queryType=all处理 |
|
|
|
beginTime = brainRecordBeginTime |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
// endTimeTemp := time.Date(endTimeTemp.Year(), endTimeTemp.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
dayCloudbrainInfo, count, err = getMonthCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
@@ -477,14 +467,6 @@ func GetAllCloudbrainsPeriodDistribution(ctx *context.Context) { |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("repo.parameter_is_wrong")) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{ |
|
|
|
Type: models.TypeCloudBrainAll, |
|
|
|
}) |
|
|
|
if err != nil { |
|
|
|
ctx.ServerError("Get cloudbrains failed:", err) |
|
|
|
return |
|
|
|
} |
|
|
|
cloudOneJobTypeRes := make(map[string]int) |
|
|
|
cloudTwoJobTypeRes := make(map[string]int) |
|
|
|
intelligentNetJobTypeRes := make(map[string]int) |
|
|
@@ -494,8 +476,26 @@ func GetAllCloudbrainsPeriodDistribution(ctx *context.Context) { |
|
|
|
if queryType == "all" || (queryType == "" && (beginTimeStr == "" || endTimeStr == "")) { |
|
|
|
beginTimeTemp = int64(recordCloudbrain[0].Cloudbrain.CreatedUnix) |
|
|
|
} |
|
|
|
for _, cloudbrain := range cloudbrains { |
|
|
|
if int64(cloudbrain.Cloudbrain.CreatedUnix) >= beginTimeTemp && int64(cloudbrain.Cloudbrain.CreatedUnix) <= endTime.Unix() { |
|
|
|
|
|
|
|
page := 1 |
|
|
|
pagesize := 1000 |
|
|
|
count := pagesize |
|
|
|
for count == pagesize && count != 0 { |
|
|
|
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{ |
|
|
|
ListOptions: models.ListOptions{ |
|
|
|
Page: page, |
|
|
|
PageSize: pagesize, |
|
|
|
}, |
|
|
|
Type: models.TypeCloudBrainAll, |
|
|
|
BeginTimeUnix: beginTimeTemp, |
|
|
|
EndTimeUnix: endTime.Unix(), |
|
|
|
}) |
|
|
|
if err != nil { |
|
|
|
ctx.ServerError("Get cloudbrains failed:", err) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
for _, cloudbrain := range cloudbrains { |
|
|
|
if cloudbrain.Cloudbrain.Type == models.TypeCloudBrainOne { |
|
|
|
if _, ok := cloudOneJobTypeRes[cloudbrain.JobType]; !ok { |
|
|
|
cloudOneJobTypeRes[cloudbrain.JobType] = 1 |
|
|
@@ -529,8 +529,9 @@ func GetAllCloudbrainsPeriodDistribution(ctx *context.Context) { |
|
|
|
} else { |
|
|
|
cloudBrainComputeResource[cloudbrain.Cloudbrain.ComputeResource] += 1 |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
count = len(cloudbrains) |
|
|
|
page += 1 |
|
|
|
} |
|
|
|
|
|
|
|
jobTypeList := []string{string(models.JobTypeDebug), string(models.JobTypeTrain), string(models.JobTypeInference), string(models.JobTypeBenchmark), |
|
|
@@ -573,25 +574,47 @@ func GetAllCloudbrainsPeriodDistribution(ctx *context.Context) { |
|
|
|
} |
|
|
|
|
|
|
|
func GetCloudbrainsStatusAnalysis(ctx *context.Context) { |
|
|
|
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{ |
|
|
|
Type: models.TypeCloudBrainAll, |
|
|
|
}) |
|
|
|
recordCloudbrain, err := models.GetRecordBeginTime() |
|
|
|
if err != nil { |
|
|
|
ctx.ServerError("Get cloudbrains failed:", err) |
|
|
|
log.Error("Can not get recordCloudbrain", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("repo.record_begintime_get_err")) |
|
|
|
return |
|
|
|
} |
|
|
|
recordBeginTime := recordCloudbrain[0].Cloudbrain.CreatedUnix |
|
|
|
endTime := time.Now() |
|
|
|
cloudBrainStatusResult := make(map[string]int) |
|
|
|
cloudBrainStatusAnalysis := make(map[string]int) |
|
|
|
totalCount := 0 |
|
|
|
for count, cloudbrain := range cloudbrains { |
|
|
|
if _, ok := cloudBrainStatusResult[cloudbrain.Status]; !ok { |
|
|
|
cloudBrainStatusResult[cloudbrain.Status] = 1 |
|
|
|
} else { |
|
|
|
cloudBrainStatusResult[cloudbrain.Status] += 1 |
|
|
|
|
|
|
|
page := 1 |
|
|
|
pagesize := 1000 |
|
|
|
count := pagesize |
|
|
|
for count == pagesize && count != 0 { |
|
|
|
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{ |
|
|
|
ListOptions: models.ListOptions{ |
|
|
|
Page: page, |
|
|
|
PageSize: pagesize, |
|
|
|
}, |
|
|
|
Type: models.TypeCloudBrainAll, |
|
|
|
BeginTimeUnix: int64(recordBeginTime), |
|
|
|
EndTimeUnix: endTime.Unix(), |
|
|
|
}) |
|
|
|
if err != nil { |
|
|
|
ctx.ServerError("Get cloudbrains failed:", err) |
|
|
|
return |
|
|
|
} |
|
|
|
for _, cloudbrain := range cloudbrains { |
|
|
|
if _, ok := cloudBrainStatusResult[cloudbrain.Status]; !ok { |
|
|
|
cloudBrainStatusResult[cloudbrain.Status] = 1 |
|
|
|
} else { |
|
|
|
cloudBrainStatusResult[cloudbrain.Status] += 1 |
|
|
|
} |
|
|
|
} |
|
|
|
totalCount = count + 1 |
|
|
|
count = len(cloudbrains) |
|
|
|
totalCount = totalCount + count |
|
|
|
page += 1 |
|
|
|
} |
|
|
|
log.Info("totalcount:", totalCount) |
|
|
|
|
|
|
|
var jobStatuses []string |
|
|
|
jobStatuses = append(jobStatuses, string(models.ModelArtsTrainJobWaiting), string(models.ModelArtsTrainJobFailed), string(models.ModelArtsRunning), string(models.ModelArtsTrainJobCompleted), |
|
|
|
string(models.ModelArtsStarting), string(models.ModelArtsRestarting), string(models.ModelArtsStartFailed), |
|
|
@@ -960,32 +983,9 @@ func getCloudbrainCount(beginTime time.Time, endTime time.Time, cloudbrains []*m |
|
|
|
return cloudOneJobTypeRes, cloudTwoJobTypeRes, intelligentNetJobTypeRes, cloudBrainPeriodNum, cloudBrainComputeResource |
|
|
|
} |
|
|
|
|
|
|
|
func getHourCloudbrainNum(beginTime time.Time, endTimeTemp time.Time, endTime time.Time) ([]DateCloudbrainNum, error) { |
|
|
|
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{ |
|
|
|
Type: models.TypeCloudBrainAll, |
|
|
|
}) |
|
|
|
if err != nil { |
|
|
|
log.Error("Get cloudbrains failed:", err) |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
dayCloudbrainNum := make([]DateCloudbrainNum, 0) |
|
|
|
|
|
|
|
for endTimeTemp.Before(endTime) || endTimeTemp.Equal(endTime) { |
|
|
|
cloudOneJobTypeRes, cloudTwoJobTypeRes, intelligentNetJobTypeRes, cloudBrainPeriodNum, cloudBrainComputeResource := getCloudbrainCount(beginTime, endTimeTemp, cloudbrains) |
|
|
|
dayCloudbrainNum = append(dayCloudbrainNum, DateCloudbrainNum{ |
|
|
|
Date: beginTime.Format(time.RFC3339), |
|
|
|
CloudOneJobTypeRes: cloudOneJobTypeRes, |
|
|
|
CloudTwoJobTypeRes: cloudTwoJobTypeRes, |
|
|
|
IntelligentNetJobTypeRes: intelligentNetJobTypeRes, |
|
|
|
CloudBrainPeriodNum: cloudBrainPeriodNum, |
|
|
|
CloudBrainComputeResource: cloudBrainComputeResource, |
|
|
|
}) |
|
|
|
beginTime = endTimeTemp |
|
|
|
endTimeTemp = beginTime.Add(time.Hour) |
|
|
|
} |
|
|
|
return dayCloudbrainNum, nil |
|
|
|
} |
|
|
|
func getDayCloudbrainNum(beginTime time.Time, endTimeTemp time.Time, endTime time.Time) ([]DateCloudbrainNum, error) { |
|
|
|
func getDayCloudbrainNum(beginTime time.Time, endTime time.Time) ([]DateCloudbrainNum, error) { |
|
|
|
var endTimeTemp time.Time |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{ |
|
|
|
Type: models.TypeCloudBrainAll, |
|
|
|
}) |
|
|
@@ -995,9 +995,6 @@ func getDayCloudbrainNum(beginTime time.Time, endTimeTemp time.Time, endTime tim |
|
|
|
} |
|
|
|
dayCloudbrainNum := make([]DateCloudbrainNum, 0) |
|
|
|
for endTimeTemp.Before(endTime) || endTimeTemp.Equal(endTime) { |
|
|
|
log.Info("beginTimee", beginTime) |
|
|
|
log.Info("endTimeTempww", endTimeTemp) |
|
|
|
log.Info("endTimerr", endTime) |
|
|
|
cloudOneJobTypeRes, cloudTwoJobTypeRes, intelligentNetJobTypeRes, cloudBrainPeriodNum, cloudBrainComputeResource := getCloudbrainCount(beginTime, endTimeTemp, cloudbrains) |
|
|
|
dayCloudbrainNum = append(dayCloudbrainNum, DateCloudbrainNum{ |
|
|
|
Date: beginTime.Format("2006/01/02"), |
|
|
@@ -1017,7 +1014,11 @@ func getDayCloudbrainNum(beginTime time.Time, endTimeTemp time.Time, endTime tim |
|
|
|
} |
|
|
|
return dayCloudbrainNum, nil |
|
|
|
} |
|
|
|
func getMonthCloudbrainNum(beginTime time.Time, endTimeTemp time.Time, endTime time.Time) ([]DateCloudbrainNum, error) { |
|
|
|
func getMonthCloudbrainNum(beginTime time.Time, endTime time.Time) ([]DateCloudbrainNum, error) { |
|
|
|
var endTimeTemp time.Time |
|
|
|
now := time.Now() |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
endTimeTemp = time.Date(endTimeTemp.Year(), endTimeTemp.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
monthCloudbrainNum := make([]DateCloudbrainNum, 0) |
|
|
|
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{ |
|
|
|
Type: models.TypeCloudBrainAll, |
|
|
|