bilibili-backup/app/admin/main/apm/http/ut_dash.go
2019-04-22 02:59:20 +00:00

186 lines
3.9 KiB
Go

package http
import (
"go-common/app/admin/main/apm/conf"
"go-common/app/admin/main/apm/model/ut"
bm "go-common/library/net/http/blademaster"
)
// @params PCurveReq
// @router get /x/admin/apm/ut/dashboard/pcurve
// @response PCurveResp
func utDashCurve(c *bm.Context) {
var (
curve []*ut.PCurveResp
err error
)
v := new(ut.PCurveReq)
if err = c.Bind(v); err != nil {
return
}
if curve, err = apmSvc.DashCurveGraph(c, name(c), v); err != nil {
c.JSON(nil, err)
return
}
c.JSON(curve, nil)
}
// @params PCurveReq
// @router get /x/admin/apm/ut/dashboard/histogram
// @response PCurveDetailResp
func utDashHistogram(c *bm.Context) {
var (
histogram []*ut.PCurveDetailResp
err error
)
v := new(ut.PCurveReq)
if err = c.Bind(v); err != nil {
return
}
if histogram, err = apmSvc.DashGraphDetail(c, name(c), v); err != nil {
c.JSON(nil, err)
return
}
c.JSON(histogram, nil)
}
// @params PCurveReq
// @router get /x/admin/apm/ut/dashboard/user/detail
// @response PCurveDetailResp
func utDashUserDetail(c *bm.Context) {
var (
detail []*ut.PCurveDetailResp
err error
)
v := new(ut.PCurveReq)
if err = c.Bind(v); err != nil {
return
}
if detail, err = apmSvc.DashGraphDetailSingle(c, name(c), v); err != nil {
c.JSON(nil, err)
return
}
c.JSON(detail, nil)
}
// @params QATrendReq
// @router get /x/admin/apm/ut/quality/trend
// @response QATrendResp
func utQATrend(c *bm.Context) {
var (
trend *ut.QATrendResp
err error
)
v := new(ut.QATrendReq)
if err = c.Bind(v); err != nil {
return
}
if trend, err = apmSvc.QATrend(c, v); err != nil {
c.JSON(nil, err)
return
}
c.JSON(trend, nil)
}
// @params commits
// @router get /x/admin/apm/ut/commits
// @response CommitInfo
func utGeneralCommit(c *bm.Context) {
var (
cmInfos []*ut.CommitInfo
err error
)
v := new(struct {
Commits string `form:"commits"`
})
if err = c.Bind(v); err != nil {
return
}
if cmInfos, err = apmSvc.UTGernalCommit(c, v.Commits); err != nil {
c.JSON(nil, err)
return
}
c.JSON(cmInfos, nil)
}
// @params pkg
// @router get /x/admin/apm/ut/dashboard/pkgs
// @response []*ut.PkgAnls
func utDashPkgsTree(c *bm.Context) {
var (
err error
pkgs []*ut.PkgAnls
username = name(c)
req = new(struct {
PKG string `form:"pkg"`
})
)
if err = c.Bind(req); err != nil {
c.JSON(nil, err)
return
}
if pkgs, err = apmSvc.DashPkgsTree(c, req.PKG, username); err != nil {
c.JSON(nil, err)
return
}
c.JSON(pkgs, nil)
}
// @params project_id,merge_id,commit_id
// @router get /x/admin/apm/ut/git/report
// @response EmptyResp
func utGitReport(c *bm.Context) {
var (
err error
req = new(struct {
ProjectID int `form:"project_id" validate:"required"`
MergeID int `form:"merge_id" validate:"required"`
CommitID string `form:"commit_id" validate:"required"`
})
)
if err = c.Bind(req); err != nil {
c.JSON(nil, err)
return
}
if err = apmSvc.GitReport(c, req.ProjectID, req.MergeID, req.CommitID); err != nil {
c.JSON(nil, err)
return
}
}
// @params username,times
// @router get /x/admin/apm/ut/dashboard/history/commit
// @response []*ut.PkgAnls
func dashHistoryCommit(c *bm.Context) {
var (
err error
pkgs = make([]*ut.PkgAnls, 0)
req = new(struct {
UserName string `form:"user_name" default:""`
Times int64 `form:"times" default:"10"`
})
)
if err = c.Bind(req); err != nil {
c.JSON(nil, err)
return
}
if req.UserName == "" {
req.UserName = name(c)
}
if pkgs, err = apmSvc.CommitHistory(c, req.UserName, req.Times); err != nil {
c.JSON(nil, err)
return
}
data := new(struct {
Pkgs []*ut.PkgAnls `json:"pkgs"`
BaseLine struct {
Coverage int `json:"coverage"`
PassRate int `json:"pass_rate"`
} `json:"base_line"`
})
data.Pkgs = pkgs
data.BaseLine.Coverage = conf.Conf.UTBaseLine.Coverage
data.BaseLine.PassRate = conf.Conf.UTBaseLine.Passrate
c.JSON(data, nil)
}