From 0ef3debef8ea8f09c81f54f775bd609aa41bd842 Mon Sep 17 00:00:00 2001 From: Branden J Brown Date: Wed, 20 Nov 2024 20:37:45 -0500 Subject: [PATCH] robot, metrics: measure time spent waiting for global rate limit --- main.go | 10 ++++++++++ metrics/metrics.go | 2 ++ privmsg.go | 1 + 3 files changed, 13 insertions(+) diff --git a/main.go b/main.go index 5d103e6..a5a4f79 100644 --- a/main.go +++ b/main.go @@ -390,5 +390,15 @@ func newMetrics() *metrics.Metrics { }, ), ), + TMISendWait: metrics.NewPromCounter( + prometheus.NewCounter( + prometheus.CounterOpts{ + Namespace: "robot", + Subsystem: "tmi", + Name: "send_wait", + Help: "Total time in seconds spent waiting for the global rate limit before sending messages to TMI.", + }, + ), + ), } } diff --git a/metrics/metrics.go b/metrics/metrics.go index 6b620ab..4a94abf 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -18,6 +18,7 @@ type Metrics struct { SpeakLatency Observer LearnLatency Observer UsedMessagesForGeneration Observer + TMISendWait Observer } func (m Metrics) Collectors() []prometheus.Collector { @@ -29,5 +30,6 @@ func (m Metrics) Collectors() []prometheus.Collector { m.TMIMsgsCount, m.LearnLatency, m.UsedMessagesForGeneration, + m.TMISendWait, } } diff --git a/privmsg.go b/privmsg.go index 2eb5ec3..1503a42 100644 --- a/privmsg.go +++ b/privmsg.go @@ -241,6 +241,7 @@ func (robo *Robot) sendTMI(ctx context.Context, send chan<- *tmi.Message, msg me slog.String("in", msg.To), slog.String("text", msg.Text), ) + robo.Metrics.TMISendWait.Observe(d.Seconds()) select { case <-ctx.Done(): return