log messages are bundled

alpha
alex 2023-02-19 20:12:22 +01:00
parent 5a15e7b751
commit a67353a055
8 changed files with 41 additions and 37 deletions

6
dist/script.js vendored
View File

@ -191,7 +191,10 @@ function connectWS() {
} }
ws.onmessage = (msg) => { ws.onmessage = (msg) => {
let data = JSON.parse(msg.data) let messages = JSON.parse(msg.data)
for (i in messages) {
data = messages[i]
messageType = data.MessageType messageType = data.MessageType
serviceName = data.ServiceName serviceName = data.ServiceName
@ -222,6 +225,7 @@ function connectWS() {
addMessage(messageType, serviceType, serviceName, data.Msg, timestamp) addMessage(messageType, serviceType, serviceName, data.Msg, timestamp)
} }
} }
}
ws.onclose = (e) => { ws.onclose = (e) => {
console.log("closed", e.reason.code) console.log("closed", e.reason.code)

2
go.mod
View File

@ -3,7 +3,7 @@ module clickandjoin.app/managementsystem
go 1.18 go 1.18
require ( require (
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.47 git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.54
github.com/gocql/gocql v0.0.0-20211015133455-b225f9b53fa1 github.com/gocql/gocql v0.0.0-20211015133455-b225f9b53fa1
github.com/gofiber/fiber/v2 v2.42.0 github.com/gofiber/fiber/v2 v2.42.0
github.com/gofiber/websocket/v2 v2.1.4 github.com/gofiber/websocket/v2 v2.1.4

2
go.sum
View File

@ -1,5 +1,7 @@
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.47 h1:vbXCuHSA7IGpZSGyZfzi31MK/rlxBParBMDEZsdBdWk= git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.47 h1:vbXCuHSA7IGpZSGyZfzi31MK/rlxBParBMDEZsdBdWk=
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.47/go.mod h1:Jzc4/4ntrOLMOZYnUjkr1uBCVtRvPbEbQD+8kwBOdf4= git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.47/go.mod h1:Jzc4/4ntrOLMOZYnUjkr1uBCVtRvPbEbQD+8kwBOdf4=
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.54 h1:bAB8Z9qJgX/H+PNakoP1PK9Sox+oyy9+L4w7n/6JkBs=
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.54/go.mod h1:/CvzIeBG4vJK/MgXzwmwCYwodiTGTMOYGDF3ao/fFLM=
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY= github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY=

View File

@ -42,14 +42,14 @@ func GetSocketClient(clientId string) (socketClient *structs.SocketClient, ok bo
var lastLogMessages []gocnjhelper.RabbitMqLogMessage var lastLogMessages []gocnjhelper.RabbitMqLogMessage
var muL sync.RWMutex var muL sync.RWMutex
func AddLastLogMessage(rabbitMqLogMessage gocnjhelper.RabbitMqLogMessage) { func AddLastLogMessages(rabbitMqLogMessage []gocnjhelper.RabbitMqLogMessage) {
muL.Lock() muL.Lock()
if len(lastLogMessages) > utils.CachedLastLogMessages { if len(lastLogMessages) > utils.CachedLastLogMessages {
lastLogMessages = lastLogMessages[1:] lastLogMessages = lastLogMessages[1:]
} }
lastLogMessages = append(lastLogMessages, rabbitMqLogMessage) lastLogMessages = append(lastLogMessages, rabbitMqLogMessage...)
muL.Unlock() muL.Unlock()
} }

View File

@ -41,18 +41,16 @@ func LogsMessagesHandling() {
LogsClient.Channel.NotifyClose(channelClosedChannel) LogsClient.Channel.NotifyClose(channelClosedChannel)
case msg := <-msgs: case msg := <-msgs:
gocnjhelper.LogDebugf("RECV msg %s", msg) var logMessages []gocnjhelper.RabbitMqLogMessage
logMessage := gocnjhelper.RabbitMqLogMessage{} if err := json.Unmarshal(msg.Body, &logMessages); err != nil {
if err := json.Unmarshal(msg.Body, &logMessage); err != nil {
gocnjhelper.LogErrorf("Failed to unmarshal json message, err: %s", err) gocnjhelper.LogErrorf("Failed to unmarshal json message, err: %s", err)
continue continue
} }
socketclients.BroadcastLogMessage(logMessage) socketclients.BroadcastLogMessage(logMessages)
cache.AddLastLogMessage(logMessage) cache.AddLastLogMessages(logMessages)
msg.Ack(false) msg.Ack(false)
} }

View File

@ -20,7 +20,7 @@ type SocketMessage struct {
Msg []byte Msg []byte
} }
func (socketClient *SocketClient) SendMessage(message gocnjhelper.RabbitMqLogMessage) error { func (socketClient *SocketClient) SendMessage(message []gocnjhelper.RabbitMqLogMessage) error {
var marshaledMessage []byte var marshaledMessage []byte
var err error var err error

View File

@ -8,18 +8,18 @@ import (
gocnjhelper "git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper" gocnjhelper "git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper"
) )
func BroadcastLogMessage(rabbitMqLogMessage gocnjhelper.RabbitMqLogMessage) { func BroadcastLogMessage(rabbitMqLogMessage []gocnjhelper.RabbitMqLogMessage) {
for _, client := range cache.GetSocketClients() { for _, client := range cache.GetSocketClients() {
client.SendMessage(rabbitMqLogMessage) client.SendMessage(rabbitMqLogMessage)
} }
} }
func BroadcastViewersCountMessage(joined int) { func BroadcastViewersCountMessage(joined int) {
BroadcastLogMessage(gocnjhelper.RabbitMqLogMessage{ BroadcastLogMessage([]gocnjhelper.RabbitMqLogMessage{{
MessageType: 100, MessageType: 100,
ServiceName: 100, ServiceName: 100,
ServiceType: uint8(joined), ServiceType: uint8(joined),
Msg: strconv.Itoa(len(cache.GetSocketClients())), Msg: strconv.Itoa(len(cache.GetSocketClients())),
Timestamp: time.Now().UnixMilli(), Timestamp: time.Now().UnixMilli(),
}) }})
} }

View File

@ -35,13 +35,13 @@ func RunHub() {
continue continue
} }
socketClient.SendMessage(gocnjhelper.RabbitMqLogMessage{ socketClient.SendMessage([]gocnjhelper.RabbitMqLogMessage{{
MessageType: 101, MessageType: 101,
ServiceName: 101, ServiceName: 101,
ServiceType: 101, ServiceType: 101,
Msg: string(lastMessages), Msg: string(lastMessages),
Timestamp: time.Now().Unix(), Timestamp: time.Now().Unix(),
}) }})
} }
case data := <-broadcast: case data := <-broadcast: