From eb06464fea7db3fb29b4e65481c74a85b0e3f523 Mon Sep 17 00:00:00 2001 From: Gaius Date: Wed, 1 Dec 2021 11:38:51 +0800 Subject: [PATCH] feat: plugin log (#843) Signed-off-by: Gaius --- internal/dflog/logger.go | 6 ++++++ manager/searcher/searcher.go | 4 +++- manager/service/service_grpc.go | 11 ++++++++--- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/internal/dflog/logger.go b/internal/dflog/logger.go index f4847219f58..5d2ee419969 100644 --- a/internal/dflog/logger.go +++ b/internal/dflog/logger.go @@ -112,6 +112,12 @@ func WithTaskIDAndURL(taskID, url string) *SugaredLoggerOnWith { } } +func WithHostnameAndIP(hostname, ip string) *SugaredLoggerOnWith { + return &SugaredLoggerOnWith{ + withArgs: []interface{}{"hostname", hostname, "ip", ip}, + } +} + func (log *SugaredLoggerOnWith) Infof(template string, args ...interface{}) { CoreLogger.Infow(fmt.Sprintf(template, args...), log.withArgs...) } diff --git a/manager/searcher/searcher.go b/manager/searcher/searcher.go index 107f3fe3064..1e8c87caf11 100644 --- a/manager/searcher/searcher.go +++ b/manager/searcher/searcher.go @@ -81,9 +81,11 @@ type searcher struct{} func New() Searcher { s, err := LoadPlugin() if err != nil { + logger.Info("use default searcher") return &searcher{} } + logger.Info("use searcher plugin") return s } @@ -99,7 +101,7 @@ func (s *searcher) FindSchedulerCluster(ctx context.Context, schedulerClusters [ var clusters []model.SchedulerCluster securityDomain := conditions[ConditionSecurityDomain] if securityDomain == "" { - logger.Infof("client %s %s have empty security domain", client.HostName, client.Ip) + logger.Infof("dfdaemon %s %s have empty security domain", client.HostName, client.Ip) } for _, schedulerCluster := range schedulerClusters { diff --git a/manager/service/service_grpc.go b/manager/service/service_grpc.go index 5fbe534dcde..a52f6cc2da6 100644 --- a/manager/service/service_grpc.go +++ b/manager/service/service_grpc.go @@ -365,27 +365,32 @@ func (s *GRPC) UpdateScheduler(ctx context.Context, req *manager.UpdateScheduler } func (s *GRPC) ListSchedulers(ctx context.Context, req *manager.ListSchedulersRequest) (*manager.ListSchedulersResponse, error) { + log := logger.WithHostnameAndIP(req.HostName, req.Ip) + var pbListSchedulersResponse manager.ListSchedulersResponse cacheKey := cache.MakeSchedulersCacheKey(req.HostName, req.Ip) // Cache Hit if err := s.cache.Get(ctx, cacheKey, &pbListSchedulersResponse); err == nil { - logger.Infof("%s cache hit", cacheKey) + log.Infof("%s cache hit", cacheKey) return &pbListSchedulersResponse, nil } // Cache Miss - logger.Infof("%s cache miss", cacheKey) + log.Infof("%s cache miss", cacheKey) var schedulerClusters []model.SchedulerCluster if err := s.db.WithContext(ctx).Preload("SecurityGroup.SecurityRules").Preload("Schedulers", "state = ?", "active").Find(&schedulerClusters).Error; err != nil { return nil, status.Error(codes.Unknown, err.Error()) } // Search optimal scheduler cluster + log.Infof("list scheduler clusters %+v with hostInfo %+v", schedulerClusters, req.HostInfo) schedulerCluster, ok := s.searcher.FindSchedulerCluster(ctx, schedulerClusters, req) if !ok { + log.Errorf("can not matching scheduler cluster") return nil, status.Error(codes.NotFound, "scheduler cluster not found") } + log.Infof("find matching scheduler cluster %v", schedulerCluster) schedulers := []model.Scheduler{} if err := s.db.WithContext(ctx).Find(&schedulers, &model.Scheduler{ @@ -421,7 +426,7 @@ func (s *GRPC) ListSchedulers(ctx context.Context, req *manager.ListSchedulersRe Value: &pbListSchedulersResponse, TTL: s.cache.TTL, }); err != nil { - logger.Warnf("storage cache failed: %v", err) + log.Warnf("storage cache failed: %v", err) } return &pbListSchedulersResponse, nil