Browse Source

增加数据监控

renzheng 7 years ago
parent
commit
f37662ef45
3 changed files with 54 additions and 47 deletions
  1. 54 0
      src/saveServer/datamonitor.go
  2. 0 47
      src/saveServer/main.go
  3. BIN
      src/saveServer/saveServer

+ 54 - 0
src/saveServer/datamonitor.go

@@ -0,0 +1,54 @@
+package main
+
+import (
+	"sync"
+	"time"
+	"tools"
+)
+
+type InfoStatus struct {
+	Starttime int64
+	Endtime   int64
+	Val       map[int]int
+	Lock      *sync.Mutex
+}
+
+func (is *InfoStatus) Add(v int) {
+	is.Lock.Lock()
+	is.Val[v]++
+	is.Lock.Unlock()
+}
+
+func (is *InfoStatus) Save() {
+	is.Lock.Lock()
+	is.Endtime = time.Now().Unix()
+	save := map[string]interface{}{}
+	all := 0
+	for i := 0; i < 6; i++ {
+		v := is.Val[i]
+		all += v
+		switch i {
+		case 1: //正常处理
+			save["normal"] = v
+		case 2: //少字段丢弃
+			save["missfield"] = v
+		case 3: //信息错误,标题为空
+			save["infoerr"] = v
+		case 4: //重复
+			save["repeat"] = v
+		case 5: //延时入库信息量
+			save["delay"] = v
+		}
+	}
+	if all > 0 {
+		save["receive"] = all
+		save["starttime"] = is.Starttime
+		save["endtime"] = is.Endtime
+		save["flag"] = "saveser"
+		is.Val = map[int]int{}
+		go tools.Mgo.Save("datamonitor", save)
+	}
+	is.Starttime = is.Endtime
+	is.Lock.Unlock()
+	time.AfterFunc(15*time.Minute, is.Save)
+}

+ 0 - 47
src/saveServer/main.go

@@ -171,50 +171,3 @@ func handler(p *util.Packet) {
 		}
 	})
 }
-
-type InfoStatus struct {
-	Starttime int64
-	Endtime   int64
-	Val       map[int]int
-	Lock      *sync.Mutex
-}
-
-func (is *InfoStatus) Add(v int) {
-	is.Lock.Lock()
-	is.Val[v]++
-	is.Lock.Unlock()
-}
-
-func (is *InfoStatus) Save() {
-	is.Lock.Lock()
-	is.Endtime = time.Now().Unix()
-	save := map[string]interface{}{}
-	all := 0
-	for i := 0; i < 6; i++ {
-		v := is.Val[i]
-		all += v
-		switch i {
-		case 1: //正常处理
-			save["normal"] = v
-		case 2: //少字段丢弃
-			save["missfield"] = v
-		case 3: //信息错误,标题为空
-			save["infoerr"] = v
-		case 4: //重复
-			save["repeat"] = v
-		case 5: //延时入库信息量
-			save["delay"] = v
-		}
-	}
-	if all > 0 {
-		save["receive"] = all
-		save["starttime"] = is.Starttime
-		save["endtime"] = is.Endtime
-		save["flag"] = "saveser"
-		is.Val = map[int]int{}
-		go mongodb.Save("datamonitor", save)
-	}
-	is.Starttime = is.Endtime
-	is.Lock.Unlock()
-	time.AfterFunc(15*time.Minute, is.Save)
-}

BIN
src/saveServer/saveServer