From 277a1b35494ee6cb3c2be4cb5f2fbded52550596 Mon Sep 17 00:00:00 2001 From: zhangwei <894646498@qq.com> Date: Tue, 2 Jan 2024 17:06:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=91=E6=8E=A7=E6=B7=BB=E5=8A=A0=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: 3f71c6c2bd75918aa275449f1c0779436c5670e6 --- .../logic/cloud/controllermetricslogic.go | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/api/internal/logic/cloud/controllermetricslogic.go b/api/internal/logic/cloud/controllermetricslogic.go index 3e7a3389..4a463d1f 100644 --- a/api/internal/logic/cloud/controllermetricslogic.go +++ b/api/internal/logic/cloud/controllermetricslogic.go @@ -4,6 +4,7 @@ import ( "context" "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc" "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types" + error2 "gitlink.org.cn/jcce-pcm/pcm-coordinator/pkg/repository/error" "gitlink.org.cn/jcce-pcm/pcm-coordinator/pkg/tracker" "time" @@ -26,15 +27,20 @@ func NewControllerMetricsLogic(ctx context.Context, svcCtx *svc.ServiceContext) func (l *ControllerMetricsLogic) ControllerMetrics(req *types.ControllerMetricsReq) (resp *types.ControllerMetricsResp, err error) { resp = &types.ControllerMetricsResp{} - if len(req.Pod) != 0 { - resp.Data = l.svcCtx.PromClient[req.ParticipantId].GetNamedMetricsByTime(req.Metrics, req.Start, req.End, 60*time.Minute, tracker.PodOption{ - PodName: req.Pod, - }) - } else { + if _, ok := l.svcCtx.PromClient[req.ParticipantId]; ok { + if len(req.Pod) != 0 { + resp.Data = l.svcCtx.PromClient[req.ParticipantId].GetNamedMetricsByTime(req.Metrics, req.Start, req.End, 60*time.Minute, tracker.PodOption{ + PodName: req.Pod, + }) + } else { - resp.Data = l.svcCtx.PromClient[req.ParticipantId].GetNamedMetricsByTime(req.Metrics, req.Start, req.End, 60*time.Minute, tracker.ControllerOption{ - WorkloadName: req.WorkloadName, - }) + resp.Data = l.svcCtx.PromClient[req.ParticipantId].GetNamedMetricsByTime(req.Metrics, req.Start, req.End, 60*time.Minute, tracker.ControllerOption{ + WorkloadName: req.WorkloadName, + }) + } + } else { + return nil, error2.NewCodeError(400, "prometheus endpoint invalid!") } + return resp, nil }