Browse Source

metric: fix statistics error

fatedier 7 years ago
parent
commit
faf584e1dd
2 changed files with 8 additions and 2 deletions
  1. 7 2
      server/metric.go
  2. 1 0
      server/service.go

+ 7 - 2
server/metric.go

@@ -32,9 +32,14 @@ type ServerStatistics struct {
 	TotalTrafficOut metric.DateCounter
 	CurConns        metric.Counter
 
-	ClientCounts    metric.Counter
+	// counter for clients
+	ClientCounts metric.Counter
+
+	// counter for proxy types
 	ProxyTypeCounts map[string]metric.Counter
 
+	// statistics for different proxies
+	// key is proxy name
 	ProxyStatistics map[string]*ProxyStatistics
 
 	mu sync.Mutex
@@ -84,7 +89,7 @@ func StatsNewProxy(name string, proxyType string) {
 		globalStats.ProxyTypeCounts[proxyType] = counter
 
 		proxyStats, ok := globalStats.ProxyStatistics[name]
-		if !ok {
+		if !(ok && proxyStats.ProxyType == proxyType) {
 			proxyStats = &ProxyStatistics{
 				ProxyType:  proxyType,
 				CurConns:   metric.NewCounter(),

+ 1 - 0
server/service.go

@@ -111,6 +111,7 @@ func NewService() (svr *Service, err error) {
 			err = fmt.Errorf("Create dashboard web server error, %v", err)
 			return
 		}
+		log.Info("Dashboard listen on %s:%d", config.ServerCommonCfg.BindAddr, config.ServerCommonCfg.DashboardPort)
 	}
 	return
 }