mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-12-09 22:17:27 +08:00
delete:old monitoring code
This commit is contained in:
parent
76f1f7077d
commit
85bd8b19ee
@ -62,14 +62,6 @@ func NewGinRouter(discov discoveryregistry.SvcDiscoveryRegistry, rdb redis.Unive
|
|||||||
|
|
||||||
u := NewUserApi(*userRpc)
|
u := NewUserApi(*userRpc)
|
||||||
m := NewMessageApi(messageRpc, userRpc)
|
m := NewMessageApi(messageRpc, userRpc)
|
||||||
/*
|
|
||||||
if config.Config.Prometheus.Enable {
|
|
||||||
prome.NewApiRequestCounter()
|
|
||||||
prome.NewApiRequestFailedCounter()
|
|
||||||
prome.NewApiRequestSuccessCounter()
|
|
||||||
r.Use(prome.PrometheusMiddleware)
|
|
||||||
r.GET("/metrics", prome.PrometheusHandler())
|
|
||||||
}*/
|
|
||||||
ParseToken := GinParseToken(rdb)
|
ParseToken := GinParseToken(rdb)
|
||||||
userRouterGroup := r.Group("/user")
|
userRouterGroup := r.Group("/user")
|
||||||
{
|
{
|
||||||
|
|||||||
@ -33,7 +33,6 @@ import (
|
|||||||
"github.com/OpenIMSDK/tools/utils"
|
"github.com/OpenIMSDK/tools/utils"
|
||||||
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/prome"
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/startrpc"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/startrpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -159,7 +158,6 @@ func (s *Server) SuperGroupOnlineBatchPushOneMsg(
|
|||||||
} else {
|
} else {
|
||||||
if utils.IsContainInt(client.PlatformID, s.pushTerminal) {
|
if utils.IsContainInt(client.PlatformID, s.pushTerminal) {
|
||||||
tempT.OnlinePush = true
|
tempT.OnlinePush = true
|
||||||
prome.Inc(prome.MsgOnlinePushSuccessCounter)
|
|
||||||
resp = append(resp, temp)
|
resp = append(resp, temp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,6 @@ import (
|
|||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/db/relation"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/db/relation"
|
||||||
relationtb "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation"
|
relationtb "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/db/unrelation"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/db/unrelation"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/prome"
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient"
|
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -86,7 +85,6 @@ func StartTransfer(prometheusPort int) error {
|
|||||||
conversationRpcClient := rpcclient.NewConversationRpcClient(client)
|
conversationRpcClient := rpcclient.NewConversationRpcClient(client)
|
||||||
groupRpcClient := rpcclient.NewGroupRpcClient(client)
|
groupRpcClient := rpcclient.NewGroupRpcClient(client)
|
||||||
msgTransfer := NewMsgTransfer(chatLogDatabase, msgDatabase, &conversationRpcClient, &groupRpcClient)
|
msgTransfer := NewMsgTransfer(chatLogDatabase, msgDatabase, &conversationRpcClient, &groupRpcClient)
|
||||||
msgTransfer.initPrometheus()
|
|
||||||
return msgTransfer.Start(prometheusPort)
|
return msgTransfer.Start(prometheusPort)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,17 +98,6 @@ func NewMsgTransfer(chatLogDatabase controller.ChatLogDatabase,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *MsgTransfer) initPrometheus() {
|
|
||||||
prome.NewSeqGetSuccessCounter()
|
|
||||||
prome.NewSeqGetFailedCounter()
|
|
||||||
prome.NewSeqSetSuccessCounter()
|
|
||||||
prome.NewSeqSetFailedCounter()
|
|
||||||
prome.NewMsgInsertRedisSuccessCounter()
|
|
||||||
prome.NewMsgInsertRedisFailedCounter()
|
|
||||||
prome.NewMsgInsertMongoSuccessCounter()
|
|
||||||
prome.NewMsgInsertMongoFailedCounter()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *MsgTransfer) Start(prometheusPort int) error {
|
func (m *MsgTransfer) Start(prometheusPort int) error {
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
|
|||||||
@ -14,10 +14,6 @@
|
|||||||
|
|
||||||
package push
|
package push
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/prome"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Consumer struct {
|
type Consumer struct {
|
||||||
pushCh ConsumerHandler
|
pushCh ConsumerHandler
|
||||||
successCount uint64
|
successCount uint64
|
||||||
@ -29,11 +25,6 @@ func NewConsumer(pusher *Pusher) *Consumer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Consumer) initPrometheus() {
|
|
||||||
prome.NewMsgOfflinePushSuccessCounter()
|
|
||||||
prome.NewMsgOfflinePushFailedCounter()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Consumer) Start() {
|
func (c *Consumer) Start() {
|
||||||
// statistics.NewStatistics(&c.successCount, config.Config.ModuleName.PushName, fmt.Sprintf("%d second push to
|
// statistics.NewStatistics(&c.successCount, config.Config.ModuleName.PushName, fmt.Sprintf("%d second push to
|
||||||
// msg_gateway count", constant.StatisticsTimeInterval), constant.StatisticsTimeInterval)
|
// msg_gateway count", constant.StatisticsTimeInterval), constant.StatisticsTimeInterval)
|
||||||
|
|||||||
@ -67,7 +67,6 @@ func Start(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) e
|
|||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
consumer := NewConsumer(pusher)
|
consumer := NewConsumer(pusher)
|
||||||
consumer.initPrometheus()
|
|
||||||
consumer.Start()
|
consumer.Start()
|
||||||
}()
|
}()
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
|||||||
@ -29,8 +29,6 @@ import (
|
|||||||
"github.com/OpenIMSDK/tools/log"
|
"github.com/OpenIMSDK/tools/log"
|
||||||
"github.com/OpenIMSDK/tools/mcontext"
|
"github.com/OpenIMSDK/tools/mcontext"
|
||||||
"github.com/OpenIMSDK/tools/utils"
|
"github.com/OpenIMSDK/tools/utils"
|
||||||
|
|
||||||
promepkg "github.com/openimsdk/open-im-server/v3/pkg/common/prome"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func (m *msgServer) SendMsg(ctx context.Context, req *pbmsg.SendMsgReq) (resp *pbmsg.SendMsgResp, error error) {
|
func (m *msgServer) SendMsg(ctx context.Context, req *pbmsg.SendMsgReq) (resp *pbmsg.SendMsgResp, error error) {
|
||||||
@ -133,9 +131,7 @@ func (m *msgServer) sendMsgNotification(
|
|||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
req *pbmsg.SendMsgReq,
|
req *pbmsg.SendMsgReq,
|
||||||
) (resp *pbmsg.SendMsgResp, err error) {
|
) (resp *pbmsg.SendMsgResp, err error) {
|
||||||
promepkg.Inc(promepkg.SingleChatMsgRecvSuccessCounter)
|
|
||||||
if err := m.MsgDatabase.MsgToMQ(ctx, utils.GenConversationUniqueKeyForSingle(req.MsgData.SendID, req.MsgData.RecvID), req.MsgData); err != nil {
|
if err := m.MsgDatabase.MsgToMQ(ctx, utils.GenConversationUniqueKeyForSingle(req.MsgData.SendID, req.MsgData.RecvID), req.MsgData); err != nil {
|
||||||
promepkg.Inc(promepkg.SingleChatMsgProcessFailedCounter)
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
resp = &pbmsg.SendMsgResp{
|
resp = &pbmsg.SendMsgResp{
|
||||||
|
|||||||
@ -28,7 +28,6 @@ import (
|
|||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/db/controller"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/db/controller"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/db/localcache"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/db/localcache"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/db/unrelation"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/db/unrelation"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/prome"
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient"
|
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -94,27 +93,10 @@ func Start(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) e
|
|||||||
}
|
}
|
||||||
s.notificationSender = rpcclient.NewNotificationSender(rpcclient.WithLocalSendMsg(s.SendMsg))
|
s.notificationSender = rpcclient.NewNotificationSender(rpcclient.WithLocalSendMsg(s.SendMsg))
|
||||||
s.addInterceptorHandler(MessageHasReadEnabled)
|
s.addInterceptorHandler(MessageHasReadEnabled)
|
||||||
s.initPrometheus()
|
|
||||||
msg.RegisterMsgServer(server, s)
|
msg.RegisterMsgServer(server, s)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *msgServer) initPrometheus() {
|
|
||||||
prome.NewMsgPullFromRedisSuccessCounter()
|
|
||||||
prome.NewMsgPullFromRedisFailedCounter()
|
|
||||||
prome.NewMsgPullFromMongoSuccessCounter()
|
|
||||||
prome.NewMsgPullFromMongoFailedCounter()
|
|
||||||
prome.NewSingleChatMsgRecvSuccessCounter()
|
|
||||||
prome.NewGroupChatMsgRecvSuccessCounter()
|
|
||||||
prome.NewWorkSuperGroupChatMsgRecvSuccessCounter()
|
|
||||||
prome.NewSingleChatMsgProcessSuccessCounter()
|
|
||||||
prome.NewSingleChatMsgProcessFailedCounter()
|
|
||||||
prome.NewGroupChatMsgProcessSuccessCounter()
|
|
||||||
prome.NewGroupChatMsgProcessFailedCounter()
|
|
||||||
prome.NewWorkSuperGroupChatMsgProcessSuccessCounter()
|
|
||||||
prome.NewWorkSuperGroupChatMsgProcessFailedCounter()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *msgServer) conversationAndGetRecvID(conversation *conversation.Conversation, userID string) (recvID string) {
|
func (m *msgServer) conversationAndGetRecvID(conversation *conversation.Conversation, userID string) (recvID string) {
|
||||||
if conversation.ConversationType == constant.SingleChatType ||
|
if conversation.ConversationType == constant.SingleChatType ||
|
||||||
conversation.ConversationType == constant.NotificationChatType {
|
conversation.ConversationType == constant.NotificationChatType {
|
||||||
|
|||||||
@ -31,8 +31,6 @@ import (
|
|||||||
unrelationtb "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/unrelation"
|
unrelationtb "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/unrelation"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/db/unrelation"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/db/unrelation"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/kafka"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/kafka"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/prome"
|
|
||||||
|
|
||||||
"go.mongodb.org/mongo-driver/mongo"
|
"go.mongodb.org/mongo-driver/mongo"
|
||||||
|
|
||||||
pbmsg "github.com/OpenIMSDK/protocol/msg"
|
pbmsg "github.com/OpenIMSDK/protocol/msg"
|
||||||
@ -490,7 +488,7 @@ func (db *commonMsgDatabase) GetMsgBySeqsRange(ctx context.Context, userID strin
|
|||||||
cachedMsgs, failedSeqs, err := db.cache.GetMessagesBySeq(ctx, conversationID, seqs)
|
cachedMsgs, failedSeqs, err := db.cache.GetMessagesBySeq(ctx, conversationID, seqs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err != redis.Nil {
|
if err != redis.Nil {
|
||||||
prome.Add(prome.MsgPullFromRedisFailedCounter, len(failedSeqs))
|
|
||||||
log.ZError(ctx, "get message from redis exception", err, "conversationID", conversationID, "seqs", seqs)
|
log.ZError(ctx, "get message from redis exception", err, "conversationID", conversationID, "seqs", seqs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -527,7 +525,7 @@ func (db *commonMsgDatabase) GetMsgBySeqsRange(ctx context.Context, userID strin
|
|||||||
cachedMsgs, failedSeqs2, err := db.cache.GetMessagesBySeq(ctx, conversationID, reGetSeqsCache)
|
cachedMsgs, failedSeqs2, err := db.cache.GetMessagesBySeq(ctx, conversationID, reGetSeqsCache)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err != redis.Nil {
|
if err != redis.Nil {
|
||||||
prome.Add(prome.MsgPullFromRedisFailedCounter, len(failedSeqs2))
|
|
||||||
log.ZError(ctx, "get message from redis exception", err, "conversationID", conversationID, "seqs", reGetSeqsCache)
|
log.ZError(ctx, "get message from redis exception", err, "conversationID", conversationID, "seqs", reGetSeqsCache)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -540,14 +538,14 @@ func (db *commonMsgDatabase) GetMsgBySeqsRange(ctx context.Context, userID strin
|
|||||||
log.ZDebug(ctx, "msgs not exist in redis", "seqs", failedSeqs)
|
log.ZDebug(ctx, "msgs not exist in redis", "seqs", failedSeqs)
|
||||||
}
|
}
|
||||||
// get from cache or db
|
// get from cache or db
|
||||||
prome.Add(prome.MsgPullFromRedisSuccessCounter, len(successMsgs))
|
|
||||||
if len(failedSeqs) > 0 {
|
if len(failedSeqs) > 0 {
|
||||||
mongoMsgs, err := db.getMsgBySeqsRange(ctx, userID, conversationID, failedSeqs, begin, end)
|
mongoMsgs, err := db.getMsgBySeqsRange(ctx, userID, conversationID, failedSeqs, begin, end)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
prome.Add(prome.MsgPullFromMongoFailedCounter, len(failedSeqs))
|
|
||||||
return 0, 0, nil, err
|
return 0, 0, nil, err
|
||||||
}
|
}
|
||||||
prome.Add(prome.MsgPullFromMongoSuccessCounter, len(mongoMsgs))
|
|
||||||
successMsgs = append(successMsgs, mongoMsgs...)
|
successMsgs = append(successMsgs, mongoMsgs...)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -579,7 +577,6 @@ func (db *commonMsgDatabase) GetMsgBySeqs(ctx context.Context, userID string, co
|
|||||||
successMsgs, failedSeqs, err := db.cache.GetMessagesBySeq(ctx, conversationID, newSeqs)
|
successMsgs, failedSeqs, err := db.cache.GetMessagesBySeq(ctx, conversationID, newSeqs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err != redis.Nil {
|
if err != redis.Nil {
|
||||||
prome.Add(prome.MsgPullFromRedisFailedCounter, len(failedSeqs))
|
|
||||||
log.ZError(ctx, "get message from redis exception", err, "failedSeqs", failedSeqs, "conversationID", conversationID)
|
log.ZError(ctx, "get message from redis exception", err, "failedSeqs", failedSeqs, "conversationID", conversationID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -599,14 +596,14 @@ func (db *commonMsgDatabase) GetMsgBySeqs(ctx context.Context, userID string, co
|
|||||||
"conversationID",
|
"conversationID",
|
||||||
conversationID,
|
conversationID,
|
||||||
)
|
)
|
||||||
prome.Add(prome.MsgPullFromRedisSuccessCounter, len(successMsgs))
|
|
||||||
if len(failedSeqs) > 0 {
|
if len(failedSeqs) > 0 {
|
||||||
mongoMsgs, err := db.getMsgBySeqs(ctx, userID, conversationID, failedSeqs)
|
mongoMsgs, err := db.getMsgBySeqs(ctx, userID, conversationID, failedSeqs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
prome.Add(prome.MsgPullFromMongoFailedCounter, len(failedSeqs))
|
|
||||||
return 0, 0, nil, err
|
return 0, 0, nil, err
|
||||||
}
|
}
|
||||||
prome.Add(prome.MsgPullFromMongoSuccessCounter, len(mongoMsgs))
|
|
||||||
successMsgs = append(successMsgs, mongoMsgs...)
|
successMsgs = append(successMsgs, mongoMsgs...)
|
||||||
}
|
}
|
||||||
return minSeq, maxSeq, successMsgs, nil
|
return minSeq, maxSeq, successMsgs, nil
|
||||||
|
|||||||
@ -28,8 +28,6 @@ import (
|
|||||||
|
|
||||||
"github.com/IBM/sarama"
|
"github.com/IBM/sarama"
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
prome "github.com/openimsdk/open-im-server/v3/pkg/common/prome"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -131,8 +129,8 @@ func (p *Producer) SendMessage(ctx context.Context, key string, msg proto.Messag
|
|||||||
kMsg.Headers = header
|
kMsg.Headers = header
|
||||||
partition, offset, err := p.producer.SendMessage(kMsg)
|
partition, offset, err := p.producer.SendMessage(kMsg)
|
||||||
log.ZDebug(ctx, "ByteEncoder SendMessage end", "key ", kMsg.Key, "key length", kMsg.Value.Length())
|
log.ZDebug(ctx, "ByteEncoder SendMessage end", "key ", kMsg.Key, "key length", kMsg.Value.Length())
|
||||||
if err == nil {
|
if err != nil {
|
||||||
prome.Inc(prome.SendMsgCounter)
|
log.ZWarn(ctx, "p.producer.SendMessage error", err)
|
||||||
}
|
}
|
||||||
return partition, offset, utils.Wrap(err, "")
|
return partition, offset, utils.Wrap(err, "")
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +0,0 @@
|
|||||||
// 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/openimsdk/open-im-server/v3/pkg/common/prome"
|
|
||||||
@ -1,470 +0,0 @@
|
|||||||
// 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",
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@ -1,97 +0,0 @@
|
|||||||
// 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 (
|
|
||||||
"bytes"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
|
||||||
"github.com/prometheus/client_golang/prometheus/promhttp"
|
|
||||||
)
|
|
||||||
|
|
||||||
func StartPrometheusSrv(prometheusPort int) error {
|
|
||||||
if config.Config.Prometheus.Enable {
|
|
||||||
http.Handle("/metrics", promhttp.Handler())
|
|
||||||
err := http.ListenAndServe(":"+strconv.Itoa(prometheusPort), nil)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func PrometheusHandler() gin.HandlerFunc {
|
|
||||||
h := promhttp.Handler()
|
|
||||||
return func(c *gin.Context) {
|
|
||||||
h.ServeHTTP(c.Writer, c.Request)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type responseBodyWriter struct {
|
|
||||||
gin.ResponseWriter
|
|
||||||
body *bytes.Buffer
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r responseBodyWriter) Write(b []byte) (int, error) {
|
|
||||||
r.body.Write(b)
|
|
||||||
return r.ResponseWriter.Write(b)
|
|
||||||
}
|
|
||||||
|
|
||||||
func PrometheusMiddleware(c *gin.Context) {
|
|
||||||
Inc(ApiRequestCounter)
|
|
||||||
w := &responseBodyWriter{body: &bytes.Buffer{}, ResponseWriter: c.Writer}
|
|
||||||
c.Writer = w
|
|
||||||
c.Next()
|
|
||||||
if c.Writer.Status() == http.StatusOK {
|
|
||||||
Inc(ApiRequestSuccessCounter)
|
|
||||||
} else {
|
|
||||||
Inc(ApiRequestFailedCounter)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func Inc(counter prometheus.Counter) {
|
|
||||||
if config.Config.Prometheus.Enable {
|
|
||||||
if counter != nil {
|
|
||||||
counter.Inc()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func Add(counter prometheus.Counter, add int) {
|
|
||||||
if config.Config.Prometheus.Enable {
|
|
||||||
if counter != nil {
|
|
||||||
counter.Add(float64(add))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func GaugeInc(gauges prometheus.Gauge) {
|
|
||||||
if config.Config.Prometheus.Enable {
|
|
||||||
if gauges != nil {
|
|
||||||
gauges.Inc()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func GaugeDec(gauges prometheus.Gauge) {
|
|
||||||
if config.Config.Prometheus.Enable {
|
|
||||||
if gauges != nil {
|
|
||||||
gauges.Dec()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user