From c55b5fb277c80f8c816f50dbdd8d1fd7da1e4631 Mon Sep 17 00:00:00 2001 From: Kane York Date: Mon, 16 Nov 2015 20:35:03 -0800 Subject: [PATCH] update to /stats --- socketserver/server/commands.go | 18 +++++++++--------- socketserver/server/handlecore.go | 3 ++- socketserver/server/stats.go | 7 ++++--- socketserver/server/types.go | 6 +++--- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/socketserver/server/commands.go b/socketserver/server/commands.go index 4f22feee..2cf2e29a 100644 --- a/socketserver/server/commands.go +++ b/socketserver/server/commands.go @@ -107,7 +107,7 @@ func C2SHello(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rmsg SubscribeDefaults(client) if client.Version.After(&lastVersionWithoutReplyWithServerTime) { - jsTime := float64(time.Now().UnixNano() / 1000) / 1000 + jsTime := float64(time.Now().UnixNano()/1000) / 1000 return ClientMessage{ Arguments: []interface{}{ client.ClientID.String(), @@ -123,7 +123,7 @@ func C2SHello(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rmsg func C2SPing(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rmsg ClientMessage, err error) { return ClientMessage{ - Arguments: float64(time.Now().UnixNano() / 1000) / 1000, + Arguments: float64(time.Now().UnixNano()/1000) / 1000, }, nil } @@ -150,10 +150,10 @@ func C2SSetUser(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rm } func C2SReady(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rmsg ClientMessage, err error) { -// disconnectAt, err := msg.ArgumentsAsInt() -// if err != nil { -// return -// } + // disconnectAt, err := msg.ArgumentsAsInt() + // if err != nil { + // return + // } client.Mutex.Lock() if client.MakePendingRequests != nil { @@ -171,9 +171,9 @@ func C2SReady(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rmsg go func() { client.MessageChannel <- ClientMessage{MessageID: msg.MessageID, Command: SuccessCommand} SendBacklogForNewClient(client) -// if disconnectAt != 0 { -// SendTimedBacklogMessages(client, time.Unix(disconnectAt, 0)) -// } + // if disconnectAt != 0 { + // SendTimedBacklogMessages(client, time.Unix(disconnectAt, 0)) + // } client.MsgChannelKeepalive.Done() }() return ClientMessage{Command: AsyncResponseCommand}, nil diff --git a/socketserver/server/handlecore.go b/socketserver/server/handlecore.go index 2a901f86..e19f93e4 100644 --- a/socketserver/server/handlecore.go +++ b/socketserver/server/handlecore.go @@ -170,6 +170,7 @@ func RunSocketConnection(conn *websocket.Conn) { // websocket.Conn is a ReadWriteCloser Statistics.ClientConnectsTotal++ + Statistics.CurrentClientCount++ var _closer sync.Once closer := func() { @@ -263,7 +264,6 @@ RunLoop: case msg := <-clientChan: if client.VersionString == "" && msg.Command != HelloCommand { CloseConnection(conn, &CloseFirstMessageNotHello) - Statistics.FirstNotHelloDisconnects++ break RunLoop } @@ -308,6 +308,7 @@ RunLoop: close(_serverMessageChan) Statistics.ClientDisconnectsTotal++ + Statistics.CurrentClientCount-- } func getDeadline() time.Time { diff --git a/socketserver/server/stats.go b/socketserver/server/stats.go index 9630171b..5c88c746 100644 --- a/socketserver/server/stats.go +++ b/socketserver/server/stats.go @@ -7,9 +7,10 @@ import ( ) type StatsData struct { - ClientConnectsTotal int64 - ClientDisconnectsTotal int64 - FirstNotHelloDisconnects int64 + CurrentClientCount int64 + + ClientConnectsTotal int64 + ClientDisconnectsTotal int64 DisconnectCodes map[string]int64 DisconnectReasons map[string]int64 diff --git a/socketserver/server/types.go b/socketserver/server/types.go index 8dbf5ca2..2eecea38 100644 --- a/socketserver/server/types.go +++ b/socketserver/server/types.go @@ -2,11 +2,11 @@ package server import ( "encoding/json" + "fmt" "github.com/satori/go.uuid" "net" "sync" "time" - "fmt" ) const CryptoBoxKeyLength = 32 @@ -57,8 +57,8 @@ type AuthInfo struct { } type ClientVersion struct { - Major int - Minor int + Major int + Minor int Revision int }