From 3ff93e9aa1d075faa0440ca87804073f2bb4e8e7 Mon Sep 17 00:00:00 2001
From: Jake Taylor <jake@elixxir.io>
Date: Thu, 17 Jun 2021 13:30:04 -0500
Subject: [PATCH] added manager print on timer

---
 connect/comms.go   | 11 +++++++++++
 connect/manager.go | 11 +++++++++--
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/connect/comms.go b/connect/comms.go
index 352426f..06ec019 100644
--- a/connect/comms.go
+++ b/connect/comms.go
@@ -170,6 +170,17 @@ listen:
 			grpc.KeepaliveEnforcementPolicy(KaEnforcement))
 	}
 
+	// Intermittantly print manager connection information
+	go func() {
+		ticker := time.NewTicker(60 * time.Second)
+		for {
+			select {
+			case _ = <-ticker.C:
+				jww.INFO.Printf(pc.Manager.String())
+			}
+		}
+	}()
+
 	return pc, lis, nil
 }
 
diff --git a/connect/manager.go b/connect/manager.go
index 6e2deda..0de9c72 100644
--- a/connect/manager.go
+++ b/connect/manager.go
@@ -106,9 +106,16 @@ func (m *Manager) DisconnectAll() {
 // Implements Stringer for debug printing
 func (m *Manager) String() string {
 	var result bytes.Buffer
+	i := uint32(0)
+	result.WriteString(fmt.Sprintf("Host Manager Connections\n"))
 	for k, host := range m.connections {
-		result.WriteString(fmt.Sprintf("[%s]: %+v",
-			(&k).String(), host))
+		isConnected, _ := host.Connected()
+		if isConnected {
+			i++
+		}
+		result.WriteString(fmt.Sprintf("[%s] IsConnected: %t\n",
+			(&k).String(), isConnected))
 	}
+	result.WriteString(fmt.Sprintf("%d/%d Hosts connected", i, len(m.connections)))
 	return result.String()
 }
-- 
GitLab