From 6b88b40538e768d68dffbca8c724ff357c4f06d7 Mon Sep 17 00:00:00 2001 From: Kane York Date: Wed, 16 Dec 2015 12:00:37 -0800 Subject: [PATCH] Fix data race, add stat --- socketserver/server/handlecore.go | 3 ++- socketserver/server/stats.go | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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