metrics for queues
All checks were successful
Build and Publish / BuildAndDeploy (push) Successful in 1m45s

This commit is contained in:
matst80
2024-11-09 22:51:43 +01:00
parent 5411921afb
commit f66f1ef39f

View File

@@ -172,6 +172,10 @@ var (
Name: "cart_remote_lookup_total", Name: "cart_remote_lookup_total",
Help: "The total number of remote lookups", Help: "The total number of remote lookups",
}) })
packetQueue = promauto.NewGauge(prometheus.GaugeOpts{
Name: "cart_packet_queue_size",
Help: "The total number of packets in the queue",
})
) )
const ( const (
@@ -211,6 +215,7 @@ func NewPacketQueue(connection net.Conn) *PacketQueue {
//return //return
} }
packetQueue.Inc()
queue.mu.Lock() queue.mu.Lock()
queue.Packets = append(queue.Packets, PacketWithData{ queue.Packets = append(queue.Packets, PacketWithData{
MessageType: messageType, MessageType: messageType,
@@ -226,7 +231,9 @@ func NewPacketQueue(connection net.Conn) *PacketQueue {
queue.mu.Lock() queue.mu.Lock()
for i, packet := range queue.Packets { for i, packet := range queue.Packets {
if time.Since(packet.Added) < time.Second*3 { if time.Since(packet.Added) < time.Second*3 {
queue.Packets = queue.Packets[i:] queue.Packets = queue.Packets[i:]
packetQueue.Set(float64(len(queue.Packets)))
break break
} }
} }