慢消息检查

This commit is contained in:
kercylan98 2023-05-20 16:39:59 +08:00
parent f57d299dc6
commit 27fa694d38
2 changed files with 11 additions and 3 deletions

View File

@ -24,6 +24,8 @@ const (
var messageNames = map[MessageType]string{ var messageNames = map[MessageType]string{
MessageTypePacket: "MessageTypePacket", MessageTypePacket: "MessageTypePacket",
MessageTypeError: "MessageTypeError", MessageTypeError: "MessageTypeError",
MessageTypeCross: "MessageTypeCross",
MessageTypeTicker: "MessageTypeTicker",
} }
const ( const (

View File

@ -413,13 +413,19 @@ func (slf *Server) PushCrossMessage(crossName string, serverId int64, packet []b
// dispatchMessage 消息分发 // dispatchMessage 消息分发
func (slf *Server) dispatchMessage(msg *message) { func (slf *Server) dispatchMessage(msg *message) {
present := time.Now()
defer func() { defer func() {
if !slf.isShutdown.Load() {
slf.messagePool.Release(msg)
}
if err := recover(); err != nil { if err := recover(); err != nil {
log.Error("Server", zap.String("MessageType", messageNames[msg.t]), zap.Any("MessageAttrs", msg.attrs), zap.Any("error", err)) 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 { switch msg.t {
case MessageTypePacket: case MessageTypePacket: