Skip to content

Commit

Permalink
Merge pull request #2493 from traPtitech/feat/bot_ws_metrics
Browse files Browse the repository at this point in the history
feat: add bot websockets read/write metrics
  • Loading branch information
pirosiki197 authored Jul 30, 2024
2 parents 10cb469 + 3525b11 commit 19b8447
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
27 changes: 27 additions & 0 deletions service/bot/ws/metrics.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package ws

import (
"github.com/gofrs/uuid"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
)

var (
webSocketReadBytesTotal = promauto.NewCounterVec(prometheus.CounterOpts{
Namespace: "traq",
Name: "bot_ws_read_bytes_total",
}, []string{"user_id"})

webSocketWriteBytesTotal = promauto.NewCounterVec(prometheus.CounterOpts{
Namespace: "traq",
Name: "bot_ws_write_bytes_total",
}, []string{"user_id"})
)

func incWebSocketReadBytesTotal(userID uuid.UUID, bytes int) {
webSocketReadBytesTotal.WithLabelValues(userID.String()).Add(float64(bytes))
}

func incWebSocketWriteBytesTotal(userID uuid.UUID, bytes int) {
webSocketWriteBytesTotal.WithLabelValues(userID.String()).Add(float64(bytes))
}
2 changes: 2 additions & 0 deletions service/bot/ws/session.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ func (s *session) ReadLoop() {
if err != nil {
return
}
incWebSocketReadBytesTotal(s.userID, len(m))

if t == websocket.TextMessage {
s.commandHandler(string(m))
Expand Down Expand Up @@ -80,6 +81,7 @@ func (s *session) WriteLoop() {
if err := s.write(msg.t, msg.data); err != nil {
return
}
incWebSocketWriteBytesTotal(s.userID, len(msg.data))

if msg.t == websocket.CloseMessage {
return
Expand Down

0 comments on commit 19b8447

Please sign in to comment.