OSDN Git Service

fix status
authorHAOYUatHZ <haoyu@protonmail.com>
Sun, 1 Sep 2019 06:49:31 +0000 (14:49 +0800)
committerHAOYUatHZ <haoyu@protonmail.com>
Sun, 1 Sep 2019 06:49:31 +0000 (14:49 +0800)
toolbar/precog/monitor/stats.go

index af5942b..4a57da3 100644 (file)
@@ -146,13 +146,18 @@ func (m *monitor) processPeerInfo(dbTx *gorm.DB, peerInfo *peers.PeerInfo) error
 
        // update latest liveness
        latestLiveness := ormNodeLivenesses[0]
 
        // update latest liveness
        latestLiveness := ormNodeLivenesses[0]
-       lantencyMS := ping.Nanoseconds() / 1000000
-       if lantencyMS != 0 {
+       rttMS := ping.Nanoseconds() / 1000000
+       if rttMS != 0 {
                ormNode.AvgRttMS = sql.NullInt64{
                ormNode.AvgRttMS = sql.NullInt64{
-                       Int64: (ormNode.AvgRttMS.Int64*int64(latestLiveness.PongTimes) + lantencyMS) / int64(latestLiveness.PongTimes+1),
+                       Int64: (ormNode.AvgRttMS.Int64*int64(latestLiveness.PongTimes) + rttMS) / int64(latestLiveness.PongTimes+1),
                        Valid: true,
                }
        }
                        Valid: true,
                }
        }
+       if rttMS > 0 && rttMs < 2000 {
+               ormNode.Status = common.NodeHealthyStatus
+       } else if rttMS > 2000 {
+               ormNode.Status = common.NodeCongestedStatus
+       }
        latestLiveness.PongTimes += 1
        if peerInfo.Height != 0 {
                latestLiveness.BestHeight = peerInfo.Height
        latestLiveness.PongTimes += 1
        if peerInfo.Height != 0 {
                latestLiveness.BestHeight = peerInfo.Height