From 27fa694d38733adf114c2591b866d88718f8ef61 Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Sat, 20 May 2023 16:39:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=85=A2=E6=B6=88=E6=81=AF=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/message.go | 2 ++ server/server.go | 12 +++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/server/message.go b/server/message.go index e296cb4..873f934 100644 --- a/server/message.go +++ b/server/message.go @@ -24,6 +24,8 @@ const ( var messageNames = map[MessageType]string{ MessageTypePacket: "MessageTypePacket", MessageTypeError: "MessageTypeError", + MessageTypeCross: "MessageTypeCross", + MessageTypeTicker: "MessageTypeTicker", } const ( diff --git a/server/server.go b/server/server.go index d917fa6..25fef7f 100644 --- a/server/server.go +++ b/server/server.go @@ -413,13 +413,19 @@ func (slf *Server) PushCrossMessage(crossName string, serverId int64, packet []b // dispatchMessage 消息分发 func (slf *Server) dispatchMessage(msg *message) { + present := time.Now() defer func() { - if !slf.isShutdown.Load() { - slf.messagePool.Release(msg) - } if err := recover(); err != nil { log.Error("Server", zap.String("MessageType", messageNames[msg.t]), zap.Any("MessageAttrs", msg.attrs), zap.Any("error", err)) } + + if cost := time.Since(present); cost > time.Millisecond*100 { + log.Warn("Server", zap.String("MessageType", messageNames[msg.t]), zap.String("LowExecCost", cost.String()), zap.Any("MessageAttrs", msg.attrs)) + } + + if !slf.isShutdown.Load() { + slf.messagePool.Release(msg) + } }() switch msg.t { case MessageTypePacket: