From 723bd44079accde6e296379bf7cddafe901acb85 Mon Sep 17 00:00:00 2001 From: mountain Date: Tue, 28 Nov 2023 01:18:50 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A1=9C=EB=B9=84=20ccu=20metric=20=EA=B0=80?= =?UTF-8?q?=EC=A0=B8=EC=98=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/tavern.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core/tavern.go b/core/tavern.go index 859af1a..bd5cc68 100644 --- a/core/tavern.go +++ b/core/tavern.go @@ -79,8 +79,10 @@ func New(context context.Context, wsh *wshandler.WebsocketHandler) (*Tavern, err return tv, nil } +var ccu = metric.MetricWriterNil + func (tv *Tavern) Cleanup() { - metric.ConcurrentUser.Set(0) + ccu.Set(0) tv.mongoClient.Close() } @@ -118,6 +120,7 @@ func (tv *Tavern) prepare(ctx context.Context) error { tv.httpApiBorker.AddHandler(gocommon.MakeHttpApiHandler(instant, "instant")) tv.wsh.AddHandler(wshandler.MakeWebsocketApiHandler(instant, "instant")) + ccu = metric.NewMetric(metric.MetricGuage, "concurrent_user", "concurrent user count", map[string]string{"game": "lobby"}) return nil } @@ -138,7 +141,7 @@ func (tv *Tavern) LeaveChannel(ctx wshandler.ApiCallContext) { } func (tv *Tavern) ClientConnected(conn *websocket.Conn, callby *wshandler.Sender) { - metric.ConcurrentUser.Add(1) + ccu.Add(1) tv.redison.Del(tv.redison.Context(), callby.Accid.Hex()) _, err := tv.redison.JSONSet(callby.Accid.Hex(), "$", bson.M{"_ts": time.Now().UTC().Unix()}) if err != nil { @@ -147,7 +150,7 @@ func (tv *Tavern) ClientConnected(conn *websocket.Conn, callby *wshandler.Sender } func (tv *Tavern) ClientDisconnected(msg string, callby *wshandler.Sender) { - metric.ConcurrentUser.Add(-1) + ccu.Add(-1) tv.redison.Del(tv.redison.Context(), callby.Accid.Hex()).Result() }