This is an automated email from the ASF dual-hosted git repository. tianxiaoliang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/servicecomb-service-center.git
The following commit(s) were added to refs/heads/master by this push: new 4e95c71 [SCB-2094] Add configuration changes for tag and rule (#918) 4e95c71 is described below commit 4e95c71460af3e5649a2a847655085869f260626 Author: robotLJW <790504...@qq.com> AuthorDate: Fri Mar 26 09:54:10 2021 +0800 [SCB-2094] Add configuration changes for tag and rule (#918) --- .../event/{event.go => domain_event_handler.go} | 34 +++++++++++++++------- datasource/mongo/event/event.go | 1 + datasource/mongo/event/service_event_handler.go | 10 ++----- etc/conf/app.yaml | 4 +++ 4 files changed, 30 insertions(+), 19 deletions(-) diff --git a/datasource/mongo/event/event.go b/datasource/mongo/event/domain_event_handler.go similarity index 56% copy from datasource/mongo/event/event.go copy to datasource/mongo/event/domain_event_handler.go index 13eeee2..c3311ce 100644 --- a/datasource/mongo/event/event.go +++ b/datasource/mongo/event/domain_event_handler.go @@ -18,19 +18,31 @@ package event import ( + "github.com/go-chassis/cari/discovery" + + "github.com/apache/servicecomb-service-center/datasource/mongo/client/model" "github.com/apache/servicecomb-service-center/datasource/mongo/sd" - "github.com/apache/servicecomb-service-center/pkg/log" + "github.com/apache/servicecomb-service-center/server/metrics" ) -const ( - increaseOne = 1 - decreaseOne = -1 -) +// DomainEventHandler report domain & project total number +type DomainEventHandler struct { +} + +func NewDomainEventHandler() *DomainEventHandler { + return &DomainEventHandler{} +} + +func (h *DomainEventHandler) Type() string { + return model.ColumnDomain +} -func init() { - log.Info("event init") - instanceEventHandler := NewInstanceEventHandler() - sd.EventProxy(instanceEventHandler.Type()).AddHandleFunc(instanceEventHandler.OnEvent) - sd.AddEventHandler(NewServiceEventHandler()) - sd.AddEventHandler(NewSchemaSummaryEventHandler()) +func (h *DomainEventHandler) OnEvent(evt sd.MongoEvent) { + action := evt.Type + switch action { + case discovery.EVT_INIT, discovery.EVT_CREATE: + metrics.ReportDomains(increaseOne) + case discovery.EVT_DELETE: + metrics.ReportDomains(decreaseOne) + } } diff --git a/datasource/mongo/event/event.go b/datasource/mongo/event/event.go index 13eeee2..8889e84 100644 --- a/datasource/mongo/event/event.go +++ b/datasource/mongo/event/event.go @@ -33,4 +33,5 @@ func init() { sd.EventProxy(instanceEventHandler.Type()).AddHandleFunc(instanceEventHandler.OnEvent) sd.AddEventHandler(NewServiceEventHandler()) sd.AddEventHandler(NewSchemaSummaryEventHandler()) + sd.AddEventHandler(NewDomainEventHandler()) } diff --git a/datasource/mongo/event/service_event_handler.go b/datasource/mongo/event/service_event_handler.go index f9e2ca5..f5ae745 100644 --- a/datasource/mongo/event/service_event_handler.go +++ b/datasource/mongo/event/service_event_handler.go @@ -81,10 +81,7 @@ func getFramework(ms *pb.MicroService) (string, string) { func newDomain(ctx context.Context, domain string) error { filter := util.NewFilter(util.Domain(domain)) exist, err := dao.ExistDomain(ctx, filter) - if exist { - log.Info(fmt.Sprintf("%s domain already exists", domain)) - } - if err == nil { + if !exist && err == nil { err = dao.AddDomain(ctx, domain) } return err @@ -93,10 +90,7 @@ func newDomain(ctx context.Context, domain string) error { func newProject(ctx context.Context, domain string, project string) error { filter := util.NewDomainProjectFilter(domain, project) exist, err := dao.ExistProject(ctx, filter) - if exist { - log.Info(fmt.Sprintf("%s domain and %s project already exists", domain, project)) - } - if err == nil { + if !exist && err == nil { p := model.Project{ Domain: domain, Project: project, diff --git a/etc/conf/app.yaml b/etc/conf/app.yaml index e53f3d7..bdfebd0 100644 --- a/etc/conf/app.yaml +++ b/etc/conf/app.yaml @@ -180,6 +180,10 @@ quota: limit: 150000 schema: limit: 100 + rule: + limit: 100 + tag: + limit: 100 syncer: