diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 962283eb9..94caa5e2a 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -48,9 +48,8 @@ func newUserSendMsgReq(params *ManagementSendMsgReq) *pbChat.SendMsgReq { newContent = params.Content["revokeMsgClientID"].(string) default: } - var options map[string]bool + options := make(map[string]bool, 5) if params.IsOnlineOnly { - options = make(map[string]bool, 5) utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false) utils.SetSwitchFromOptions(options, constant.IsHistory, false) utils.SetSwitchFromOptions(options, constant.IsPersistent, false) diff --git a/internal/msg_gateway/gate/init.go b/internal/msg_gateway/gate/init.go index 5cf682b84..60c97f1de 100644 --- a/internal/msg_gateway/gate/init.go +++ b/internal/msg_gateway/gate/init.go @@ -19,6 +19,8 @@ var ( sendMsgFailedCount uint64 sendMsgSuccessCount uint64 userCount uint64 + + sendMsgAllCountLock sync.RWMutex ) func Init(rpcPort, wsPort int) { diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 51955f0fe..5644f1cb3 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -143,7 +143,9 @@ func (ws *WServer) pullMsgBySeqListResp(conn *UserConn, m *Req, pb *sdk_ws.PullM } func (ws *WServer) sendMsgReq(conn *UserConn, m *Req) { + sendMsgAllCountLock.Lock() sendMsgAllCount++ + sendMsgAllCountLock.Unlock() log.NewInfo(m.OperationID, "Ws call success to sendMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID, m.Data) nReply := new(pbChat.SendMsgResp) isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendMsg) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 33e350003..032108ee9 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -272,4 +272,4 @@ const BigVersion = "v3" const LogFileName = "OpenIM.log" -const StatisticsTimeInterval = 300 +const StatisticsTimeInterval = 60 diff --git a/pkg/utils/map.go b/pkg/utils/map.go index fc24cc87d..66ca27471 100644 --- a/pkg/utils/map.go +++ b/pkg/utils/map.go @@ -116,6 +116,9 @@ func JsonStringToMap(str string) (tempMap map[string]int32) { return tempMap } func GetSwitchFromOptions(Options map[string]bool, key string) (result bool) { + if Options == nil { + return true + } if flag, ok := Options[key]; !ok || flag { return true }