From 2d339b08533f1491c44b9a5376e2a4cc27f9aca2 Mon Sep 17 00:00:00 2001 From: Pedro Tanaka Date: Thu, 21 Apr 2022 11:47:19 +0200 Subject: [PATCH] Adding new metric to relay Signed-off-by: Pedro Tanaka --- pkg/relay/relay.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pkg/relay/relay.go b/pkg/relay/relay.go index 900d86a..bdae527 100644 --- a/pkg/relay/relay.go +++ b/pkg/relay/relay.go @@ -35,8 +35,9 @@ type Relay struct { logger log.Logger packetLength uint - packetsTotal prometheus.Counter - longLinesTotal prometheus.Counter + packetsTotal prometheus.Counter + longLinesTotal prometheus.Counter + relayedLinesTotal prometheus.Counter } var ( @@ -54,6 +55,13 @@ var ( }, []string{"target"}, ) + relayLinesRelayedTotal = promauto.NewCounterVec( + prometheus.CounterOpts{ + Name: "statsd_exporter_relay_lines_relayed_total", + Help: "The number of lines that were buffered to be relayed.", + }, + []string{"target"}, + ) ) // NewRelay creates a statsd UDP relay. It can be used to send copies of statsd raw @@ -77,8 +85,9 @@ func NewRelay(l log.Logger, target string, packetLength uint) (*Relay, error) { logger: l, packetLength: packetLength, - packetsTotal: relayPacketsTotal.WithLabelValues(target), - longLinesTotal: relayLongLinesTotal.WithLabelValues(target), + packetsTotal: relayPacketsTotal.WithLabelValues(target), + longLinesTotal: relayLongLinesTotal.WithLabelValues(target), + relayedLinesTotal: relayLinesRelayedTotal.WithLabelValues(target), } // Startup the UDP sender. @@ -152,5 +161,6 @@ func (r *Relay) RelayLine(l string) { if !strings.HasSuffix(l, "\n") { l = l + "\n" } + r.relayedLinesTotal.Inc() r.bufferChannel <- []byte(l) }