Browse Source

update

tags/v1.22.6.1^2
liuzx 4 years ago
parent
commit
a91e9b5c7c
2 changed files with 91 additions and 50 deletions
  1. +1
    -0
      routers/api/v1/api.go
  2. +90
    -50
      routers/api/v1/repo/cloudbrain_dashboard.go

+ 1
- 0
routers/api/v1/api.go View File

@@ -564,6 +564,7 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Get("/overview", repo.GetAllCloudbrainsOverview)
m.Get("/distribution", repo.GetAllCloudbrainsPeriodDistribution)
m.Get("/trend", repo.GetAllCloudbrainsTrend)
m.Get("/trend_detail", repo.GetAllCloudbrainsTrendDetail)
m.Get("/status_analysis", repo.GetCloudbrainsStatusAnalysis)
m.Get("/detail_data", repo.GetCloudbrainsDetailData)
m.Get("/hours_data", repo.GetCloudbrainsCreateHoursData)


+ 90
- 50
routers/api/v1/repo/cloudbrain_dashboard.go View File

@@ -277,6 +277,87 @@ func GetAllCloudbrainsTrend(ctx *context.Context) {

}

func GetAllCloudbrainsTrendDetail(ctx *context.Context) {

recordBeginTime, err := getBrainRecordBeginTime()
if err != nil {
log.Error("Can not get record begin time", err)
ctx.Error(http.StatusBadRequest, ctx.Tr("repo.record_begintime_get_err"))
return
}
beginTime, endTime, err := getTimePeroid(ctx, recordBeginTime)
if err != nil {
log.Error("Parameter is wrong", err)
ctx.Error(http.StatusBadRequest, ctx.Tr("repo.parameter_is_wrong"))
return
}

cloudbrains, err := models.GetAllCloudBrain()
if err != nil {
log.Error("Getcloudbrains failed:%v", err)
return
}
cloudOneJobTypeRes := make(map[string]int)
cloudTwoJobTypeRes := make(map[string]int)
intelligentNetJobTypeRes := make(map[string]int)
cloudBrainPeriodNum := make(map[int]int)
for _, cloudbrain := range cloudbrains {
if int64(cloudbrain.Cloudbrain.CreatedUnix) >= beginTime.Unix() && int64(cloudbrain.Cloudbrain.CreatedUnix) < endTime.Unix() {
if cloudbrain.Cloudbrain.Type == models.TypeCloudBrainOne {
if _, ok := cloudOneJobTypeRes[cloudbrain.JobType]; !ok {
cloudOneJobTypeRes[cloudbrain.JobType] = 1
} else {
cloudOneJobTypeRes[cloudbrain.JobType] += 1
}
}
if cloudbrain.Cloudbrain.Type == models.TypeCloudBrainTwo {
if _, ok := cloudTwoJobTypeRes[cloudbrain.JobType]; !ok {
cloudTwoJobTypeRes[cloudbrain.JobType] = 1
} else {
cloudTwoJobTypeRes[cloudbrain.JobType] += 1
}
}

if _, ok := cloudBrainPeriodNum[cloudbrain.Cloudbrain.Type]; !ok {
cloudBrainPeriodNum[cloudbrain.Cloudbrain.Type] = 1
} else {
cloudBrainPeriodNum[cloudbrain.Cloudbrain.Type] += 1
}

}
}

jobTypeList := []string{"DEBUG", "BENCHMARK", "INFERENCE", "TRAIN", "SNN4IMAGENET", "BRAINSCORE"}
for _, v := range jobTypeList {
if _, ok := cloudOneJobTypeRes[v]; !ok {
cloudOneJobTypeRes[v] = 0
}
if _, ok := cloudTwoJobTypeRes[v]; !ok {
cloudTwoJobTypeRes[v] = 0
}
if _, ok := intelligentNetJobTypeRes[v]; !ok {
intelligentNetJobTypeRes[v] = 0
}
}
cloudBrainTypeList := []int{0, 1, 2}
for _, v := range cloudBrainTypeList {
if _, ok := cloudBrainPeriodNum[v]; !ok {
cloudBrainPeriodNum[v] = 0
}
}
// totalTasksCount := cloudBrainPeriodNum[0] + cloudBrainPeriodNum[1] + cloudBrainPeriodNum[2]

cloudOneJobTypeRes["EVALUATION"] = cloudOneJobTypeRes["BENCHMARK"] + cloudOneJobTypeRes["SNN4IMAGENET"] + cloudOneJobTypeRes["BRAINSCORE"]
cloudTwoJobTypeRes["EVALUATION"] = cloudTwoJobTypeRes["BENCHMARK"] + cloudTwoJobTypeRes["SNN4IMAGENET"] + cloudTwoJobTypeRes["BRAINSCORE"]
intelligentNetJobTypeRes["EVALUATION"] = intelligentNetJobTypeRes["BENCHMARK"] + intelligentNetJobTypeRes["SNN4IMAGENET"] + intelligentNetJobTypeRes["BRAINSCORE"]
ctx.JSON(http.StatusOK, map[string]interface{}{
"cloudOneJobTypeRes": cloudOneJobTypeRes,
"cloudTwoJobTypeRes": cloudTwoJobTypeRes,
"intelligentNetJobTypeRes": intelligentNetJobTypeRes,
"cloudBrainPeriodNum": cloudBrainPeriodNum,
})
}

func GetAllCloudbrainsPeriodDistribution(ctx *context.Context) {

recordBeginTime, err := getBrainRecordBeginTime()
@@ -291,54 +372,6 @@ func GetAllCloudbrainsPeriodDistribution(ctx *context.Context) {
ctx.Error(http.StatusBadRequest, ctx.Tr("repo.parameter_is_wrong"))
return
}
// debugOnePeriodCount, err := models.GetDebugOnePeriodCount(beginTime, endTime)
// if err != nil {
// log.Error("Can not query debugOneCount.", err)
// ctx.Error(http.StatusBadRequest, ctx.Tr("debugOneCount_get_error"))
// return
// }
// benchmarkOnePeriodCount, err := models.GetBenchmarkOnePeriodCount(beginTime, endTime)
// if err != nil {
// log.Error("Can not query benchmarkCount.", err)
// ctx.Error(http.StatusBadRequest, ctx.Tr("benchmarkOneCount_get_error"))
// return
// }
// trainOnePeriodCount, err := models.GetTrainOnePeriodCount(beginTime, endTime)
// if err != nil {
// log.Error("Can not query trainOneCount.", err)
// ctx.Error(http.StatusBadRequest, ctx.Tr("trainOneCount_get_error"))
// return
// }
// debugTwoPeriodCount, err := models.GetDebugTwoPeriodCount(beginTime, endTime)
// if err != nil {
// log.Error("Can not query debugTwoCount.", err)
// ctx.Error(http.StatusBadRequest, ctx.Tr("debugTwoCount_get_error"))
// return
// }
// trainTwoPeriodCount, err := models.GetTrainTwoPeriodCount(beginTime, endTime)
// if err != nil {
// log.Error("Can not query DebugOneTotal count.", err)
// ctx.Error(http.StatusBadRequest, ctx.Tr("total_count_get_error"))
// return
// }
// inferenceTwoPeriodCount, err := models.GetInferenceTwoPeriodCount(beginTime, endTime)
// if err != nil {
// log.Error("Can not query inferenceTwoCount.", err)
// ctx.Error(http.StatusBadRequest, ctx.Tr("inferenceTwoCount_get_error"))
// return
// }
// cloudBrainOnePeriodCount, err := models.GetCloudBrainOnePeriodCount(beginTime, endTime)
// if err != nil {
// log.Error("Can not query cloudBrainOnePeriodCount.", err)
// ctx.Error(http.StatusBadRequest, ctx.Tr("cloudBrainOnePeriodCount_get_error"))
// return
// }
// cloudBrainTwoPeriodCount, err := models.GetCloudBrainTwoPeriodCount(beginTime, endTime)
// if err != nil {
// log.Error("Can not query cloudBrainTwoPeriodCount.", err)
// ctx.Error(http.StatusBadRequest, ctx.Tr("cloudBrainTwoPeriodCount_get_error"))
// return
// }

cloudbrains, err := models.GetAllCloudBrain()
if err != nil {
@@ -773,6 +806,13 @@ func getCloudbrainCount(beginTime time.Time, endTime time.Time) (map[string]int,
}
}

ComputeResourceList := []string{"CPU/GPU", "NPU"}
for _, v := range ComputeResourceList {
if _, ok := cloudBrainComputeResource[v]; !ok {
cloudBrainComputeResource[v] = 0
}
}

jobTypeList := []string{"DEBUG", "BENCHMARK", "INFERENCE", "TRAIN", "SNN4IMAGENET", "BRAINSCORE"}
cloudBrainTypeList := []int{0, 1, 2}
for _, v := range jobTypeList {
@@ -825,7 +865,7 @@ func getDayCloudbrainNum(beginTime time.Time, endTimeTemp time.Time, endTime tim
return nil, err
}
dayCloudbrainNum = append(dayCloudbrainNum, DateCloudbrainNum{
Date: beginTime.Format("2006-01-02"),
Date: beginTime.Format("2006/01/02"),
CloudOneJobTypeRes: cloudOneJobTypeRes,
CloudTwoJobTypeRes: cloudTwoJobTypeRes,
IntelligentNetJobTypeRes: intelligentNetJobTypeRes,
@@ -846,7 +886,7 @@ func getYearCloudbrainNum(beginTime time.Time, endTimeTemp time.Time, endTime ti
return nil, err
}
yearCloudbrainNum = append(yearCloudbrainNum, DateCloudbrainNum{
Date: beginTime.Format("2006-01"),
Date: beginTime.Format("2006/01"),
CloudOneJobTypeRes: cloudOneJobTypeRes,
CloudTwoJobTypeRes: cloudTwoJobTypeRes,
IntelligentNetJobTypeRes: intelligentNetJobTypeRes,


Loading…
Cancel
Save