|
@@ -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)
|
|
|
-}
|