From 8ba475cdcfad25a81ad414260645bd3bc6419484 Mon Sep 17 00:00:00 2001 From: Philip Su Date: Thu, 31 Aug 2023 20:44:58 -0700 Subject: [PATCH 1/2] Decrease bank send metric to 5m --- events.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/events.go b/events.go index 7883632..64e3a5b 100644 --- a/events.go +++ b/events.go @@ -147,9 +147,9 @@ func (s EventCollector) HandleBankTransferEvent(eventItem *coretypes.EventItem) "sender": sender, "recipient": recipient, }).Add(amount) - // Expire the metrics after sufficient investigation (3 days) + // Expire the metrics after 5 minutes go func() { - time.Sleep(3 * 24 * time.Hour) + time.Sleep(5 * time.Minute) s.counter.Delete(prometheus.Labels{ "denom": denom, "sender": sender, From 0125a47bb666c340460e9ecf119793d5d6918f49 Mon Sep 17 00:00:00 2001 From: Philip Su Date: Tue, 5 Sep 2023 21:33:14 -0700 Subject: [PATCH 2/2] Convert metric to gauge --- events.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/events.go b/events.go index 64e3a5b..d10b62f 100644 --- a/events.go +++ b/events.go @@ -35,7 +35,7 @@ var ( type EventCollector struct { rpcClient tmrpcclient.Client logger zerolog.Logger - counter *prometheus.CounterVec + gauge *prometheus.GaugeVec BankTransferThreshold float64 } @@ -49,8 +49,8 @@ func NewEventCollector(tmRPC string, logger zerolog.Logger, bankTransferThreshol if err != nil { return nil, err } - transfersValueCounter := prometheus.NewCounterVec( - prometheus.CounterOpts{ + transfersValueGauge := prometheus.NewGaugeVec( + prometheus.GaugeOpts{ Name: "cosmos_bank_transfer_amount", Help: "Number of tokens transferred in a transfer message", ConstLabels: ConstLabels, @@ -60,7 +60,7 @@ func NewEventCollector(tmRPC string, logger zerolog.Logger, bankTransferThreshol return &EventCollector{ rpcClient: rpcClient, logger: logger, - counter: transfersValueCounter, + gauge: transfersValueGauge, BankTransferThreshold: bankTransferThreshold, }, nil } @@ -142,15 +142,15 @@ func (s EventCollector) HandleBankTransferEvent(eventItem *coretypes.EventItem) } } if amount > s.BankTransferThreshold { - s.counter.With(prometheus.Labels{ + s.gauge.With(prometheus.Labels{ "denom": denom, "sender": sender, "recipient": recipient, - }).Add(amount) + }).Set(amount) // Expire the metrics after 5 minutes go func() { time.Sleep(5 * time.Minute) - s.counter.Delete(prometheus.Labels{ + s.gauge.Delete(prometheus.Labels{ "denom": denom, "sender": sender, "recipient": recipient, @@ -171,7 +171,7 @@ func (s EventCollector) StreamHandler(w http.ResponseWriter, r *http.Request) { Logger() registry := prometheus.NewRegistry() - registry.MustRegister(s.counter) + registry.MustRegister(s.gauge) h := promhttp.HandlerFor(registry, promhttp.HandlerOpts{}) h.ServeHTTP(w, r)