|
|
@@ -27,23 +27,21 @@ var (
|
|
|
// All metrics are cumulative
|
|
|
|
|
|
// total amount of units credited
|
|
|
- mBalanceCredit metrics.Counter
|
|
|
+ mBalanceCredit = metrics.NewRegisteredCounterForced("account.balance.credit", metrics.AccountingRegistry)
|
|
|
// total amount of units debited
|
|
|
- mBalanceDebit metrics.Counter
|
|
|
+ mBalanceDebit = metrics.NewRegisteredCounterForced("account.balance.debit", metrics.AccountingRegistry)
|
|
|
// total amount of bytes credited
|
|
|
- mBytesCredit metrics.Counter
|
|
|
+ mBytesCredit = metrics.NewRegisteredCounterForced("account.bytes.credit", metrics.AccountingRegistry)
|
|
|
// total amount of bytes debited
|
|
|
- mBytesDebit metrics.Counter
|
|
|
+ mBytesDebit = metrics.NewRegisteredCounterForced("account.bytes.debit", metrics.AccountingRegistry)
|
|
|
// total amount of credited messages
|
|
|
- mMsgCredit metrics.Counter
|
|
|
+ mMsgCredit = metrics.NewRegisteredCounterForced("account.msg.credit", metrics.AccountingRegistry)
|
|
|
// total amount of debited messages
|
|
|
- mMsgDebit metrics.Counter
|
|
|
+ mMsgDebit = metrics.NewRegisteredCounterForced("account.msg.debit", metrics.AccountingRegistry)
|
|
|
// how many times local node had to drop remote peers
|
|
|
- mPeerDrops metrics.Counter
|
|
|
+ mPeerDrops = metrics.NewRegisteredCounterForced("account.peerdrops", metrics.AccountingRegistry)
|
|
|
// how many times local node overdrafted and dropped
|
|
|
- mSelfDrops metrics.Counter
|
|
|
-
|
|
|
- MetricsRegistry metrics.Registry
|
|
|
+ mSelfDrops = metrics.NewRegisteredCounterForced("account.selfdrops", metrics.AccountingRegistry)
|
|
|
)
|
|
|
|
|
|
// Prices defines how prices are being passed on to the accounting instance
|
|
|
@@ -110,24 +108,13 @@ func NewAccounting(balance Balance, po Prices) *Accounting {
|
|
|
return ah
|
|
|
}
|
|
|
|
|
|
-// SetupAccountingMetrics creates a separate registry for p2p accounting metrics;
|
|
|
+// SetupAccountingMetrics uses a separate registry for p2p accounting metrics;
|
|
|
// this registry should be independent of any other metrics as it persists at different endpoints.
|
|
|
-// It also instantiates the given metrics and starts the persisting go-routine which
|
|
|
+// It also starts the persisting go-routine which
|
|
|
// at the passed interval writes the metrics to a LevelDB
|
|
|
func SetupAccountingMetrics(reportInterval time.Duration, path string) *AccountingMetrics {
|
|
|
- // create an empty registry
|
|
|
- MetricsRegistry = metrics.NewRegistry()
|
|
|
- // instantiate the metrics
|
|
|
- mBalanceCredit = metrics.NewRegisteredCounterForced("account.balance.credit", MetricsRegistry)
|
|
|
- mBalanceDebit = metrics.NewRegisteredCounterForced("account.balance.debit", MetricsRegistry)
|
|
|
- mBytesCredit = metrics.NewRegisteredCounterForced("account.bytes.credit", MetricsRegistry)
|
|
|
- mBytesDebit = metrics.NewRegisteredCounterForced("account.bytes.debit", MetricsRegistry)
|
|
|
- mMsgCredit = metrics.NewRegisteredCounterForced("account.msg.credit", MetricsRegistry)
|
|
|
- mMsgDebit = metrics.NewRegisteredCounterForced("account.msg.debit", MetricsRegistry)
|
|
|
- mPeerDrops = metrics.NewRegisteredCounterForced("account.peerdrops", MetricsRegistry)
|
|
|
- mSelfDrops = metrics.NewRegisteredCounterForced("account.selfdrops", MetricsRegistry)
|
|
|
// create the DB and start persisting
|
|
|
- return NewAccountingMetrics(MetricsRegistry, reportInterval, path)
|
|
|
+ return NewAccountingMetrics(metrics.AccountingRegistry, reportInterval, path)
|
|
|
}
|
|
|
|
|
|
// Send takes a peer, a size and a msg and
|