Skip to content

Commit

Permalink
Merge pull request #6 from sei-protocol/5-min-bank-send-threshold
Browse files Browse the repository at this point in the history
Decrease bank send metric to 5m
  • Loading branch information
philipsu522 authored Sep 6, 2023
2 parents 9254dda + 0125a47 commit 84c9db4
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions events.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ var (
type EventCollector struct {
rpcClient tmrpcclient.Client
logger zerolog.Logger
counter *prometheus.CounterVec
gauge *prometheus.GaugeVec
BankTransferThreshold float64
}

Expand All @@ -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,
Expand All @@ -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
}
Expand Down Expand Up @@ -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)
// Expire the metrics after sufficient investigation (3 days)
}).Set(amount)
// Expire the metrics after 5 minutes
go func() {
time.Sleep(3 * 24 * time.Hour)
s.counter.Delete(prometheus.Labels{
time.Sleep(5 * time.Minute)
s.gauge.Delete(prometheus.Labels{
"denom": denom,
"sender": sender,
"recipient": recipient,
Expand All @@ -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)
Expand Down

0 comments on commit 84c9db4

Please sign in to comment.