1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-08-04 21:30:53 +00:00

Replace log.Println() with Statistics

This commit is contained in:
Kane York 2015-11-16 13:07:02 -08:00
parent cc3a160c29
commit a3971a27bf
4 changed files with 42 additions and 15 deletions

View file

@ -48,6 +48,9 @@ func DispatchC2SCommand(conn *websocket.Conn, client *ClientInfo, msg ClientMess
handler = C2SHandleRemoteCommand
}
Statistics.CommandsIssuedTotal++
Statistics.CommandsIssuedMap[msg.Command]++
response, err := callHandler(handler, conn, client, msg)
if err == nil {
@ -308,7 +311,7 @@ func doSendAggregateData() {
followJSON, err := json.Marshal(follows)
if err != nil {
log.Print(err)
log.Println("error reporting aggregate data:", err)
} else {
reportForm.Set("follows", string(followJSON))
}
@ -320,20 +323,20 @@ func doSendAggregateData() {
}
emoteJSON, err := json.Marshal(strEmoteUsage)
if err != nil {
log.Print(err)
log.Println("error reporting aggregate data:", err)
} else {
reportForm.Set("emotes", string(emoteJSON))
}
form, err := SealRequest(reportForm)
if err != nil {
log.Print(err)
log.Println("error reporting aggregate data:", err)
return
}
err = SendAggregatedData(form)
if err != nil {
log.Print(err)
log.Println("error reporting aggregate data:", err)
return
}

View file

@ -72,7 +72,7 @@ func SetupServerAndHandle(config *ConfigFile, serveMux *http.ServeMux) {
}
resp, err := backendHTTPClient.PostForm(announceStartupURL, announceForm)
if err != nil {
log.Println(err)
log.Println("could not announce startup to backend:", err)
} else {
resp.Body.Close()
}
@ -158,7 +158,7 @@ var CloseFirstMessageNotHello = websocket.CloseError{
func RunSocketConnection(conn *websocket.Conn) {
// websocket.Conn is a ReadWriteCloser
log.Println("Got socket connection from", conn.RemoteAddr())
Statistics.ClientConnectsTotal++
var _closer sync.Once
closer := func() {
@ -210,9 +210,6 @@ func RunSocketConnection(conn *websocket.Conn) {
}
_, isClose := err.(*websocket.CloseError)
if err != io.EOF && !isClose {
log.Println("Error while reading from client:", err)
}
select {
case errorChan <- err:
case <-stoppedChan:
@ -255,8 +252,8 @@ RunLoop:
case msg := <-clientChan:
if client.Version == "" && msg.Command != HelloCommand {
log.Println("error - first message wasn't hello from", conn.RemoteAddr(), "-", msg)
CloseConnection(conn, &CloseFirstMessageNotHello)
Statistics.FirstNotHelloDisconnects++
break RunLoop
}
@ -300,7 +297,7 @@ RunLoop:
// Close the channel so the draining goroutine can finish, too.
close(_serverMessageChan)
log.Println("End socket connection from", conn.RemoteAddr())
Statistics.ClientDisconnectsTotal++
}
func getDeadline() time.Time {
@ -308,9 +305,9 @@ func getDeadline() time.Time {
}
func CloseConnection(conn *websocket.Conn, closeMsg *websocket.CloseError) {
if closeMsg != &CloseFirstMessageNotHello {
log.Println("Terminating connection with", conn.RemoteAddr(), "-", closeMsg.Text)
}
Statistics.DisconnectCodes[closeMsg.Code]++
Statistics.DisconnectReasons[closeMsg.Text]++
conn.WriteControl(websocket.CloseMessage, websocket.FormatCloseMessage(closeMsg.Code, closeMsg.Text), getDeadline())
conn.Close()
}
@ -324,6 +321,7 @@ func SendMessage(conn *websocket.Conn, msg ClientMessage) {
}
conn.SetWriteDeadline(getDeadline())
conn.WriteMessage(messageType, packet)
Statistics.MessagesSent++
}
// UnmarshalClientMessage unpacks websocket TextMessage into a ClientMessage provided in the `v` parameter.

View file

@ -0,0 +1,26 @@
package server
type StatsData struct {
ClientConnectsTotal int64
ClientDisconnectsTotal int64
FirstNotHelloDisconnects int64
DisconnectCodes map[int]int64
DisconnectReasons map[string]int64
CommandsIssuedTotal int64
CommandsIssuedMap map[Command]int64
MessagesSent int64
}
func newStatsData() *StatsData {
return &StatsData{
CommandsIssuedMap: make(map[Command]int64),
DisconnectCodes: make(map[int]int64),
DisconnectReasons: make(map[string]int64),
}
}
// Statistics is several variables that get incremented during normal operation of the server.
var Statistics = newStatsData()

View file

@ -89,7 +89,7 @@ func UnsealRequest(form url.Values) (url.Values, error) {
retValues, err := url.ParseQuery(string(message))
if err != nil {
// Assume that the signature was accidentally correct but the contents were garbage
log.Print(err)
log.Println("Error unsealing request:", err)
return nil, ErrorInvalidSignature
}