Skip to content

Commit

Permalink
feat: add more metrics to accounting and settlements
Browse files Browse the repository at this point in the history
  • Loading branch information
ralph-pichler committed Jun 7, 2021
1 parent 2c5f15b commit ba85880
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 3 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,6 @@ require (
gopkg.in/yaml.v2 v2.3.0
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect
honnef.co/go/tools v0.0.1-2020.1.4 // indirect
resenje.org/singleflight v0.2.0 // indirect
resenje.org/singleflight v0.2.0
resenje.org/web v0.4.3
)
2 changes: 2 additions & 0 deletions pkg/accounting/accounting.go
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,8 @@ func (a *Accounting) Reserve(ctx context.Context, peer swarm.Address, price uint
accountingPeer.lock.Lock()
defer accountingPeer.lock.Unlock()

a.metrics.AccountingReserveCount.Inc()

currentBalance, err := a.Balance(peer)
if err != nil {
if !errors.Is(err, ErrPeerNoBalance) {
Expand Down
7 changes: 7 additions & 0 deletions pkg/accounting/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ type metrics struct {
CreditEventsCount prometheus.Counter
AccountingDisconnectsCount prometheus.Counter
AccountingBlocksCount prometheus.Counter
AccountingReserveCount prometheus.Counter
}

func newMetrics() metrics {
Expand Down Expand Up @@ -61,6 +62,12 @@ func newMetrics() metrics {
Name: "accounting_blocks_count",
Help: "Number of occurrences of temporarily skipping a peer to avoid crossing their disconnect thresholds",
}),
AccountingReserveCount: prometheus.NewCounter(prometheus.CounterOpts{
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "accounting_reserve_count",
Help: "Number of reserve calls",
}),
}
}

Expand Down
18 changes: 16 additions & 2 deletions pkg/settlement/pseudosettle/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ type metrics struct {
// using reflection
TotalReceivedPseudoSettlements prometheus.Counter
TotalSentPseudoSettlements prometheus.Counter
ReceivedPseudoSettlements prometheus.Counter
SentPseudoSettlements prometheus.Counter
}

func newMetrics() metrics {
Expand All @@ -25,13 +27,25 @@ func newMetrics() metrics {
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "total_received_pseudosettlements",
Help: "Amount of pseudotokens received from peers (income of the node)",
Help: "Amount of time settlements received from peers (income of the node)",
}),
TotalSentPseudoSettlements: prometheus.NewCounter(prometheus.CounterOpts{
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "total_sent_pseudosettlements",
Help: "Amount of pseudotokens sent to peers (costs paid by the node)",
Help: "Amount of of time settlements sent to peers (costs paid by the node)",
}),
ReceivedPseudoSettlements: prometheus.NewCounter(prometheus.CounterOpts{
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "received_pseudosettlements",
Help: "Number of time settlements received from peers",
}),
SentPseudoSettlements: prometheus.NewCounter(prometheus.CounterOpts{
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "sent_pseudosettlements",
Help: "Number of time settlements sent to peers",
}),
}
}
Expand Down
2 changes: 2 additions & 0 deletions pkg/settlement/pseudosettle/pseudosettle.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ func (s *Service) handler(ctx context.Context, p p2p.Peer, stream p2p.Stream) (e

receivedPaymentF64, _ := big.NewFloat(0).SetInt(paymentAmount).Float64()
s.metrics.TotalReceivedPseudoSettlements.Add(receivedPaymentF64)
s.metrics.ReceivedPseudoSettlements.Inc()
return s.accounting.NotifyRefreshmentReceived(p.Address, paymentAmount)
}

Expand Down Expand Up @@ -339,6 +340,7 @@ func (s *Service) Pay(ctx context.Context, peer swarm.Address, amount *big.Int,

amountFloat, _ := new(big.Float).SetInt(acceptedAmount).Float64()
s.metrics.TotalSentPseudoSettlements.Add(amountFloat)
s.metrics.SentPseudoSettlements.Inc()

return acceptedAmount, lastTime.CheckTimestamp, nil
}
Expand Down

0 comments on commit ba85880

Please sign in to comment.