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:

Reply via email to