diff --git a/socketserver/server/handlecore.go b/socketserver/server/handlecore.go index 8a6ea4b6..92268b5f 100644 --- a/socketserver/server/handlecore.go +++ b/socketserver/server/handlecore.go @@ -160,6 +160,7 @@ func HTTPHandleRootURL(w http.ResponseWriter, r *http.Request) { updateSysMem() if Statistics.SysMemTotalKB-Statistics.SysMemFreeKB < Configuration.MinMemoryKBytes { + atomic.AddUint64(&Statistics.LowMemDroppedConnections, 1) w.WriteHeader(503) return } @@ -439,7 +440,7 @@ func SendMessage(conn *websocket.Conn, msg ClientMessage) { } conn.SetWriteDeadline(getDeadline()) conn.WriteMessage(messageType, packet) - Statistics.MessagesSent++ + atomic.AddUint64(&Statistics.MessagesSent, 1) } // UnmarshalClientMessage unpacks websocket TextMessage into a ClientMessage provided in the `v` parameter. diff --git a/socketserver/server/stats.go b/socketserver/server/stats.go index eecfceab..7ba62f1b 100644 --- a/socketserver/server/stats.go +++ b/socketserver/server/stats.go @@ -30,6 +30,8 @@ type StatsData struct { MemoryInUseKB uint64 MemoryRSSKB uint64 + LowMemDroppedConnections uint64 + MemPerClientBytes uint64 CpuUsagePct float64