Browse Source

fixed non ping err resulting in connected

0xdcarns 2 years ago
parent
commit
a1ec5fb354
2 changed files with 9 additions and 5 deletions
  1. 7 3
      logic/metrics/metrics.go
  2. 2 2
      netclient/functions/mqpublish.go

+ 7 - 3
logic/metrics/metrics.go

@@ -58,11 +58,14 @@ func Collect(iface string, peerMap models.PeerMap) (*models.Metrics, error) {
 				newMetric.Latency = 999
 				newMetric.Latency = 999
 			} else {
 			} else {
 				pingStats := pinger.Statistics()
 				pingStats := pinger.Statistics()
-				newMetric.Uptime = 1
-				newMetric.Connected = true
-				newMetric.Latency = pingStats.AvgRtt.Milliseconds()
+				if pingStats.PacketsRecv > 0 {
+					newMetric.Uptime = 1
+					newMetric.Connected = true
+					newMetric.Latency = pingStats.AvgRtt.Milliseconds()
+				}
 			}
 			}
 		}
 		}
+
 		// check device peer to see if WG is working if ping failed
 		// check device peer to see if WG is working if ping failed
 		if !newMetric.Connected {
 		if !newMetric.Connected {
 			if currPeer.ReceiveBytes > 0 &&
 			if currPeer.ReceiveBytes > 0 &&
@@ -72,6 +75,7 @@ func Collect(iface string, peerMap models.PeerMap) (*models.Metrics, error) {
 				newMetric.Uptime = 1
 				newMetric.Uptime = 1
 			}
 			}
 		}
 		}
+
 		newMetric.TotalTime = 1
 		newMetric.TotalTime = 1
 		metrics.Connectivity[id] = newMetric
 		metrics.Connectivity[id] = newMetric
 	}
 	}

+ 2 - 2
netclient/functions/mqpublish.go

@@ -44,7 +44,7 @@ func Checkin(ctx context.Context, wg *sync.WaitGroup) {
 		case <-ticker.C:
 		case <-ticker.C:
 			currentRun++
 			currentRun++
 			checkin(currentRun)
 			checkin(currentRun)
-			if currentRun >= 5 {
+			if currentRun >= 0 {
 				currentRun = 0
 				currentRun = 0
 			}
 			}
 		}
 		}
@@ -116,7 +116,7 @@ func checkin(currentRun int) {
 		}
 		}
 		Hello(&nodeCfg)
 		Hello(&nodeCfg)
 		checkCertExpiry(&nodeCfg)
 		checkCertExpiry(&nodeCfg)
-		if currentRun >= 5 && nodeCfg.Server.Is_EE {
+		if currentRun >= 0 && nodeCfg.Server.Is_EE {
 			logger.Log(0, "collecting metrics for node", nodeCfg.Node.Name)
 			logger.Log(0, "collecting metrics for node", nodeCfg.Node.Name)
 			publishMetrics(&nodeCfg)
 			publishMetrics(&nodeCfg)
 		}
 		}