Files
open-im-server/pkg/common/prometheus/gather.go
T

427 lines
11 KiB
Go
Raw Normal View History

2022-09-14 18:16:02 +08:00
package prometheus
import (
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
)
var (
2022-09-15 01:22:20 +08:00
//auth rpc
2022-09-14 18:16:02 +08:00
UserLoginCounter prometheus.Counter
UserRegisterCounter prometheus.Counter
2022-09-14 18:58:30 +08:00
2022-09-15 12:07:28 +08:00
//seg
2022-09-14 18:58:30 +08:00
SeqGetSuccessCounter prometheus.Counter
SeqGetFailedCounter prometheus.Counter
SeqSetSuccessCounter prometheus.Counter
SeqSetFailedCounter prometheus.Counter
2022-09-14 19:36:59 +08:00
2022-09-15 12:07:28 +08:00
//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
2022-09-14 20:27:54 +08:00
2022-09-15 12:07:28 +08:00
//msg-ws
MsgRecvTotalCounter prometheus.Counter
GetNewestSeqTotalCounter prometheus.Counter
PullMsgBySeqListTotalCounter prometheus.Counter
SingleChatMsgRecvSuccessCounter prometheus.Counter
GroupChatMsgRecvSuccessCounter prometheus.Counter
WorkSuperGroupChatMsgRecvSuccessCounter prometheus.Counter
2022-09-15 17:50:45 +08:00
OnlineUserGauge prometheus.Gauge
2022-09-15 12:07:28 +08:00
//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
2022-09-15 01:22:20 +08:00
// api
ApiRequestCounter prometheus.Counter
ApiRequestSuccessCounter prometheus.Counter
ApiRequestFailedCounter prometheus.Counter
// grpc
GrpcRequestCounter prometheus.Counter
GrpcRequestSuccessCounter prometheus.Counter
GrpcRequestFailedCounter prometheus.Counter
2022-09-15 13:17:53 +08:00
SendMsgCounter prometheus.Counter
2022-09-14 18:16:02 +08:00
)
func NewUserLoginCounter() {
2022-09-15 13:17:53 +08:00
if UserLoginCounter != nil {
return
}
2022-09-14 18:16:02 +08:00
UserLoginCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "user_login",
Help: "The number of user login",
})
}
2022-09-14 19:36:59 +08:00
func NewUserRegisterCounter() {
2022-09-15 13:17:53 +08:00
if UserRegisterCounter != nil {
return
}
2022-09-14 19:36:59 +08:00
UserRegisterCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "user_register",
Help: "The number of user register",
})
}
2022-09-14 18:16:02 +08:00
2022-09-14 18:58:30 +08:00
func NewSeqGetSuccessCounter() {
2022-09-15 13:17:53 +08:00
if SeqGetSuccessCounter != nil {
return
}
2022-09-14 18:58:30 +08:00
SeqGetSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "seq_get_success",
Help: "The number of successful get seq",
})
}
func NewSeqGetFailedCounter() {
2022-09-15 13:17:53 +08:00
if SeqGetFailedCounter != nil {
return
}
2022-09-14 18:58:30 +08:00
SeqGetFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "seq_get_failed",
Help: "The number of failed get seq",
})
}
func NewSeqSetSuccessCounter() {
2022-09-15 13:17:53 +08:00
if SeqSetSuccessCounter != nil {
return
}
2022-09-14 18:58:30 +08:00
SeqSetSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "seq_set_success",
Help: "The number of successful set seq",
})
}
func NewSeqSetFailedCounter() {
2022-09-15 13:17:53 +08:00
if SeqSetFailedCounter != nil {
return
}
2022-09-14 18:58:30 +08:00
SeqSetFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "seq_set_failed",
Help: "The number of failed set seq",
2022-09-14 18:16:02 +08:00
})
}
2022-09-14 19:36:59 +08:00
2022-09-15 01:22:20 +08:00
func NewApiRequestCounter() {
2022-09-15 13:17:53 +08:00
if ApiRequestCounter != nil {
return
}
2022-09-15 01:22:20 +08:00
ApiRequestCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "api_request",
Help: "The number of api request",
})
}
func NewApiRequestSuccessCounter() {
2022-09-15 13:17:53 +08:00
if ApiRequestSuccessCounter != nil {
return
}
2022-09-15 01:22:20 +08:00
ApiRequestSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "api_request_success",
Help: "The number of api request success",
})
}
func NewApiRequestFailedCounter() {
2022-09-15 13:17:53 +08:00
if ApiRequestFailedCounter != nil {
return
}
2022-09-15 01:22:20 +08:00
ApiRequestFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "api_request_failed",
Help: "The number of api request failed",
})
}
func NewGrpcRequestCounter() {
2022-09-15 13:17:53 +08:00
if GrpcRequestCounter != nil {
return
}
2022-09-15 01:22:20 +08:00
GrpcRequestCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "grpc_request",
Help: "The number of api request",
})
}
func NewGrpcRequestSuccessCounter() {
2022-09-15 13:17:53 +08:00
if GrpcRequestSuccessCounter != nil {
return
}
2022-09-15 01:22:20 +08:00
GrpcRequestSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "grpc_request_success",
Help: "The number of grpc request success",
})
}
func NewGrpcRequestFailedCounter() {
2022-09-15 13:17:53 +08:00
if GrpcRequestFailedCounter != nil {
return
}
2022-09-15 01:22:20 +08:00
GrpcRequestFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "grpc_request_failed",
Help: "The number of grpc request failed",
})
}
func NewSendMsgCount() {
2022-09-15 13:17:53 +08:00
if SendMsgCounter != nil {
return
}
2022-09-15 01:22:20 +08:00
SendMsgCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "send_msg",
Help: "The number of send msg",
})
}
2022-09-15 01:23:57 +08:00
2022-09-14 19:36:59 +08:00
func NewMsgInsertRedisSuccessCounter() {
2022-09-15 13:17:53 +08:00
if MsgInsertRedisSuccessCounter != nil {
return
}
2022-09-14 19:36:59 +08:00
MsgInsertRedisSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_insert_redis_success",
Help: "The number of successful insert msg to redis",
})
}
func NewMsgInsertRedisFailedCounter() {
2022-09-15 13:17:53 +08:00
if MsgInsertRedisFailedCounter != nil {
return
}
2022-09-14 19:36:59 +08:00
MsgInsertRedisFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_insert_redis_failed",
Help: "The number of failed insert msg to redis",
})
}
2022-09-14 20:27:54 +08:00
func NewMsgInsertMongoSuccessCounter() {
2022-09-15 13:17:53 +08:00
if MsgInsertMongoSuccessCounter != nil {
return
}
2022-09-14 20:27:54 +08:00
MsgInsertMongoSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_insert_mongo_success",
Help: "The number of successful insert msg to mongo",
})
}
func NewMsgInsertMongoFailedCounter() {
2022-09-15 13:17:53 +08:00
if MsgInsertMongoFailedCounter != nil {
return
}
2022-09-14 20:27:54 +08:00
MsgInsertMongoFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_insert_mongo_failed",
Help: "The number of failed insert msg to mongo",
})
}
2022-09-15 12:07:28 +08:00
func NewMsgPullFromRedisSuccessCounter() {
2022-09-15 13:17:53 +08:00
if MsgPullFromRedisSuccessCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
MsgPullFromRedisSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_pull_from_redis_success",
Help: "The number of successful pull msg from redis",
})
}
func NewMsgPullFromRedisFailedCounter() {
2022-09-15 13:17:53 +08:00
if MsgPullFromRedisFailedCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
MsgPullFromRedisFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_pull_from_redis_failed",
Help: "The number of failed pull msg from redis",
})
}
func NewMsgPullFromMongoSuccessCounter() {
2022-09-15 13:17:53 +08:00
if MsgPullFromMongoSuccessCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
MsgPullFromMongoSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_pull_from_mongo_success",
2022-09-15 12:07:28 +08:00
Help: "The number of successful pull msg from mongo",
})
}
func NewMsgPullFromMongoFailedCounter() {
2022-09-15 13:17:53 +08:00
if MsgPullFromMongoFailedCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
MsgPullFromMongoFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_pull_from_mongo_failed",
Help: "The number of failed pull msg from mongo",
})
}
func NewMsgRecvTotalCounter() {
2022-09-15 13:17:53 +08:00
if MsgRecvTotalCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
MsgRecvTotalCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_recv_total",
Help: "The number of msg received",
})
}
func NewGetNewestSeqTotalCounter() {
2022-09-15 13:17:53 +08:00
if GetNewestSeqTotalCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
GetNewestSeqTotalCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "get_newest_seq_total",
Help: "the number of get newest seq",
})
}
func NewPullMsgBySeqListTotalCounter() {
2022-09-15 13:17:53 +08:00
if PullMsgBySeqListTotalCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
PullMsgBySeqListTotalCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "pull_msg_by_seq_list_total",
Help: "The number of pull msg by seq list",
})
}
func NewSingleChatMsgRecvSuccessCounter() {
2022-09-15 13:17:53 +08:00
if SingleChatMsgRecvSuccessCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
SingleChatMsgRecvSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "single_chat_msg_recv_success",
Help: "The number of single chat msg successful received ",
})
}
func NewGroupChatMsgRecvSuccessCounter() {
2022-09-15 13:17:53 +08:00
if GroupChatMsgRecvSuccessCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
GroupChatMsgRecvSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "group_chat_msg_recv_success",
Help: "The number of group chat msg successful received",
})
}
func NewWorkSuperGroupChatMsgRecvSuccessCounter() {
2022-09-15 13:17:53 +08:00
if WorkSuperGroupChatMsgRecvSuccessCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
WorkSuperGroupChatMsgRecvSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "work_super_group_chat_msg_recv_success",
Help: "The number of work/super group chat msg successful received",
})
}
2022-09-15 17:50:45 +08:00
func NewOnlineUserGauges() {
if OnlineUserGauge != nil {
return
}
OnlineUserGauge = promauto.NewGauge(prometheus.GaugeOpts{
Name: "online_user_num",
Help: "The number of online user num",
})
}
2022-09-15 12:07:28 +08:00
func NewSingleChatMsgProcessSuccessCounter() {
2022-09-15 13:17:53 +08:00
if SingleChatMsgProcessSuccessCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
SingleChatMsgProcessSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "single_chat_msg_process_success",
Help: "The number of single chat msg successful processed",
})
}
func NewSingleChatMsgProcessFailedCounter() {
2022-09-15 13:17:53 +08:00
if SingleChatMsgProcessFailedCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
SingleChatMsgProcessFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "single_chat_msg_process_failed",
Help: "The number of single chat msg failed processed",
})
}
func NewGroupChatMsgProcessSuccessCounter() {
2022-09-15 13:17:53 +08:00
if GroupChatMsgProcessSuccessCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
GroupChatMsgProcessSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "group_chat_msg_process_success",
Help: "The number of group chat msg successful processed",
})
}
func NewGroupChatMsgProcessFailedCounter() {
2022-09-15 13:17:53 +08:00
if GroupChatMsgProcessFailedCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
GroupChatMsgProcessFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "group_chat_msg_process_failed",
Help: "The number of group chat msg failed processed",
})
}
func NewWorkSuperGroupChatMsgProcessSuccessCounter() {
2022-09-15 13:17:53 +08:00
if WorkSuperGroupChatMsgProcessSuccessCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
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() {
2022-09-15 13:17:53 +08:00
if WorkSuperGroupChatMsgProcessFailedCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
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() {
2022-09-15 13:17:53 +08:00
if MsgOnlinePushSuccessCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
MsgOnlinePushSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_online_push_success",
Help: "The number of msg successful online pushed",
})
}
func NewMsgOfflinePushSuccessCounter() {
2022-09-15 13:17:53 +08:00
if MsgOfflinePushSuccessCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
MsgOfflinePushSuccessCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_offline_push_success",
Help: "The number of msg successful offline pushed",
})
}
func NewMsgOfflinePushFailedCounter() {
2022-09-15 13:17:53 +08:00
if MsgOfflinePushFailedCounter != nil {
return
}
2022-09-15 12:07:28 +08:00
MsgOfflinePushFailedCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "msg_offline_push_failed",
Help: "The number of msg failed offline pushed",
})
}