mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-04 03:13:15 +08:00 
			
		
		
		
	* feat: Add light mode and dark mode.(#89) Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: make file code len Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * feat: fix scripts support win Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: make build issue Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: golint and format Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * feat: add scripts sudo limits of authority Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: docker images fix Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: docker images fix Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> --------- Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
		
			
				
	
	
		
			471 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			471 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright © 2023 OpenIM. All rights reserved.
 | 
						|
//
 | 
						|
// Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
// you may not use this file except in compliance with the License.
 | 
						|
// You may obtain a copy of the License at
 | 
						|
//
 | 
						|
//     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
//
 | 
						|
// Unless required by applicable law or agreed to in writing, software
 | 
						|
// distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
// See the License for the specific language governing permissions and
 | 
						|
// limitations under the License.
 | 
						|
 | 
						|
package prome
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/prometheus/client_golang/prometheus"
 | 
						|
	"github.com/prometheus/client_golang/prometheus/promauto"
 | 
						|
)
 | 
						|
 | 
						|
var (
 | 
						|
	// auth rpc.
 | 
						|
	UserLoginCounter    prometheus.Counter
 | 
						|
	UserRegisterCounter prometheus.Counter
 | 
						|
 | 
						|
	// seg.
 | 
						|
	SeqGetSuccessCounter prometheus.Counter
 | 
						|
	SeqGetFailedCounter  prometheus.Counter
 | 
						|
	SeqSetSuccessCounter prometheus.Counter
 | 
						|
	SeqSetFailedCounter  prometheus.Counter
 | 
						|
 | 
						|
	// msg-db.
 | 
						|
	MsgInsertRedisSuccessCounter   prometheus.Counter
 | 
						|
	MsgInsertRedisFailedCounter    prometheus.Counter
 | 
						|
	MsgInsertMongoSuccessCounter   prometheus.Counter
 | 
						|
	MsgInsertMongoFailedCounter    prometheus.Counter
 | 
						|
	MsgPullFromRedisSuccessCounter prometheus.Counter
 | 
						|
	MsgPullFromRedisFailedCounter  prometheus.Counter
 | 
						|
	MsgPullFromMongoSuccessCounter prometheus.Counter
 | 
						|
	MsgPullFromMongoFailedCounter  prometheus.Counter
 | 
						|
 | 
						|
	// msg-ws.
 | 
						|
	MsgRecvTotalCounter          prometheus.Counter
 | 
						|
	GetNewestSeqTotalCounter     prometheus.Counter
 | 
						|
	PullMsgBySeqListTotalCounter prometheus.Counter
 | 
						|
 | 
						|
	SingleChatMsgRecvSuccessCounter         prometheus.Counter
 | 
						|
	GroupChatMsgRecvSuccessCounter          prometheus.Counter
 | 
						|
	WorkSuperGroupChatMsgRecvSuccessCounter prometheus.Counter
 | 
						|
	OnlineUserGauge                         prometheus.Gauge
 | 
						|
 | 
						|
	// msg-msg.
 | 
						|
	SingleChatMsgProcessSuccessCounter         prometheus.Counter
 | 
						|
	SingleChatMsgProcessFailedCounter          prometheus.Counter
 | 
						|
	GroupChatMsgProcessSuccessCounter          prometheus.Counter
 | 
						|
	GroupChatMsgProcessFailedCounter           prometheus.Counter
 | 
						|
	WorkSuperGroupChatMsgProcessSuccessCounter prometheus.Counter
 | 
						|
	WorkSuperGroupChatMsgProcessFailedCounter  prometheus.Counter
 | 
						|
 | 
						|
	// msg-push.
 | 
						|
	MsgOnlinePushSuccessCounter  prometheus.Counter
 | 
						|
	MsgOfflinePushSuccessCounter prometheus.Counter
 | 
						|
	MsgOfflinePushFailedCounter  prometheus.Counter
 | 
						|
	// api.
 | 
						|
	ApiRequestCounter        prometheus.Counter
 | 
						|
	ApiRequestSuccessCounter prometheus.Counter
 | 
						|
	ApiRequestFailedCounter  prometheus.Counter
 | 
						|
 | 
						|
	// grpc.
 | 
						|
	GrpcRequestCounter        prometheus.Counter
 | 
						|
	GrpcRequestSuccessCounter prometheus.Counter
 | 
						|
	GrpcRequestFailedCounter  prometheus.Counter
 | 
						|
 | 
						|
	SendMsgCounter prometheus.Counter
 | 
						|
 | 
						|
	// conversation.
 | 
						|
	ConversationCreateSuccessCounter prometheus.Counter
 | 
						|
	ConversationCreateFailedCounter  prometheus.Counter
 | 
						|
)
 | 
						|
 | 
						|
func NewUserLoginCounter() {
 | 
						|
	if UserLoginCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	UserLoginCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "user_login",
 | 
						|
		Help: "The number of user login",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewUserRegisterCounter() {
 | 
						|
	if UserRegisterCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	UserRegisterCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "user_register",
 | 
						|
		Help: "The number of user register",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewSeqGetSuccessCounter() {
 | 
						|
	if SeqGetSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	SeqGetSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "seq_get_success",
 | 
						|
		Help: "The number of successful get seq",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewSeqGetFailedCounter() {
 | 
						|
	if SeqGetFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	SeqGetFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "seq_get_failed",
 | 
						|
		Help: "The number of failed get seq",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewSeqSetSuccessCounter() {
 | 
						|
	if SeqSetSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	SeqSetSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "seq_set_success",
 | 
						|
		Help: "The number of successful set seq",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewSeqSetFailedCounter() {
 | 
						|
	if SeqSetFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	SeqSetFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "seq_set_failed",
 | 
						|
		Help: "The number of failed set seq",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewApiRequestCounter() {
 | 
						|
	if ApiRequestCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	ApiRequestCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "api_request",
 | 
						|
		Help: "The number of api request",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewApiRequestSuccessCounter() {
 | 
						|
	if ApiRequestSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	ApiRequestSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "api_request_success",
 | 
						|
		Help: "The number of api request success",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewApiRequestFailedCounter() {
 | 
						|
	if ApiRequestFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	ApiRequestFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "api_request_failed",
 | 
						|
		Help: "The number of api request failed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewGrpcRequestCounter() {
 | 
						|
	if GrpcRequestCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	GrpcRequestCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "grpc_request",
 | 
						|
		Help: "The number of api request",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewGrpcRequestSuccessCounter() {
 | 
						|
	if GrpcRequestSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	GrpcRequestSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "grpc_request_success",
 | 
						|
		Help: "The number of grpc request success",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewGrpcRequestFailedCounter() {
 | 
						|
	if GrpcRequestFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	GrpcRequestFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "grpc_request_failed",
 | 
						|
		Help: "The number of grpc request failed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewSendMsgCount() {
 | 
						|
	if SendMsgCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	SendMsgCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "send_msg",
 | 
						|
		Help: "The number of send msg",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgInsertRedisSuccessCounter() {
 | 
						|
	if MsgInsertRedisSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgInsertRedisSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_insert_redis_success",
 | 
						|
		Help: "The number of successful insert msg to redis",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgInsertRedisFailedCounter() {
 | 
						|
	if MsgInsertRedisFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgInsertRedisFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_insert_redis_failed",
 | 
						|
		Help: "The number of failed insert msg to redis",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgInsertMongoSuccessCounter() {
 | 
						|
	if MsgInsertMongoSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgInsertMongoSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_insert_mongo_success",
 | 
						|
		Help: "The number of successful insert msg to mongo",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgInsertMongoFailedCounter() {
 | 
						|
	if MsgInsertMongoFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgInsertMongoFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_insert_mongo_failed",
 | 
						|
		Help: "The number of failed insert msg to mongo",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgPullFromRedisSuccessCounter() {
 | 
						|
	if MsgPullFromRedisSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgPullFromRedisSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_pull_from_redis_success",
 | 
						|
		Help: "The number of successful pull msg from redis",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgPullFromRedisFailedCounter() {
 | 
						|
	if MsgPullFromRedisFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgPullFromRedisFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_pull_from_redis_failed",
 | 
						|
		Help: "The number of failed pull msg from redis",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgPullFromMongoSuccessCounter() {
 | 
						|
	if MsgPullFromMongoSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgPullFromMongoSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_pull_from_mongo_success",
 | 
						|
		Help: "The number of successful pull msg from mongo",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgPullFromMongoFailedCounter() {
 | 
						|
	if MsgPullFromMongoFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgPullFromMongoFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_pull_from_mongo_failed",
 | 
						|
		Help: "The number of failed pull msg from mongo",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgRecvTotalCounter() {
 | 
						|
	if MsgRecvTotalCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgRecvTotalCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_recv_total",
 | 
						|
		Help: "The number of msg received",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewGetNewestSeqTotalCounter() {
 | 
						|
	if GetNewestSeqTotalCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	GetNewestSeqTotalCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "get_newest_seq_total",
 | 
						|
		Help: "the number of get newest seq",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewPullMsgBySeqListTotalCounter() {
 | 
						|
	if PullMsgBySeqListTotalCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	PullMsgBySeqListTotalCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "pull_msg_by_seq_list_total",
 | 
						|
		Help: "The number of pull msg by seq list",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewSingleChatMsgRecvSuccessCounter() {
 | 
						|
	if SingleChatMsgRecvSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	SingleChatMsgRecvSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "single_chat_msg_recv_success",
 | 
						|
		Help: "The number of single chat msg successful received ",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewGroupChatMsgRecvSuccessCounter() {
 | 
						|
	if GroupChatMsgRecvSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	GroupChatMsgRecvSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "group_chat_msg_recv_success",
 | 
						|
		Help: "The number of group chat msg successful received",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewWorkSuperGroupChatMsgRecvSuccessCounter() {
 | 
						|
	if WorkSuperGroupChatMsgRecvSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	WorkSuperGroupChatMsgRecvSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "work_super_group_chat_msg_recv_success",
 | 
						|
		Help: "The number of work/super group chat msg successful received",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewOnlineUserGauges() {
 | 
						|
	if OnlineUserGauge != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	OnlineUserGauge = promauto.NewGauge(prometheus.GaugeOpts{
 | 
						|
		Name: "online_user_num",
 | 
						|
		Help: "The number of online user num",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewSingleChatMsgProcessSuccessCounter() {
 | 
						|
	if SingleChatMsgProcessSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	SingleChatMsgProcessSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "single_chat_msg_process_success",
 | 
						|
		Help: "The number of single chat msg successful processed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewSingleChatMsgProcessFailedCounter() {
 | 
						|
	if SingleChatMsgProcessFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	SingleChatMsgProcessFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "single_chat_msg_process_failed",
 | 
						|
		Help: "The number of single chat msg failed processed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewGroupChatMsgProcessSuccessCounter() {
 | 
						|
	if GroupChatMsgProcessSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	GroupChatMsgProcessSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "group_chat_msg_process_success",
 | 
						|
		Help: "The number of group chat msg successful processed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewGroupChatMsgProcessFailedCounter() {
 | 
						|
	if GroupChatMsgProcessFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	GroupChatMsgProcessFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "group_chat_msg_process_failed",
 | 
						|
		Help: "The number of group chat msg failed processed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewWorkSuperGroupChatMsgProcessSuccessCounter() {
 | 
						|
	if WorkSuperGroupChatMsgProcessSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	WorkSuperGroupChatMsgProcessSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "work_super_group_chat_msg_process_success",
 | 
						|
		Help: "The number of work/super group chat msg successful processed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewWorkSuperGroupChatMsgProcessFailedCounter() {
 | 
						|
	if WorkSuperGroupChatMsgProcessFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	WorkSuperGroupChatMsgProcessFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "work_super_group_chat_msg_process_failed",
 | 
						|
		Help: "The number of work/super group chat msg failed processed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgOnlinePushSuccessCounter() {
 | 
						|
	if MsgOnlinePushSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgOnlinePushSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_online_push_success",
 | 
						|
		Help: "The number of msg successful online pushed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgOfflinePushSuccessCounter() {
 | 
						|
	if MsgOfflinePushSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgOfflinePushSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_offline_push_success",
 | 
						|
		Help: "The number of msg successful offline pushed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewMsgOfflinePushFailedCounter() {
 | 
						|
	if MsgOfflinePushFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	MsgOfflinePushFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "msg_offline_push_failed",
 | 
						|
		Help: "The number of msg failed offline pushed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewConversationCreateSuccessCounter() {
 | 
						|
	if ConversationCreateSuccessCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	ConversationCreateSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "conversation_push_success",
 | 
						|
		Help: "The number of conversation successful pushed",
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func NewConversationCreateFailedCounter() {
 | 
						|
	if ConversationCreateFailedCounter != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	ConversationCreateFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
 | 
						|
		Name: "conversation_push_failed",
 | 
						|
		Help: "The number of conversation failed pushed",
 | 
						|
	})
 | 
						|
}
 |