Report mempool size in metrics
This commit is contained in:
parent
17ed8f7d5d
commit
eba668bfd1
@ -153,7 +153,11 @@ func (c *blockChainWithMetrics) SendRawTransaction(tx string) (v string, err err
|
|||||||
|
|
||||||
func (c *blockChainWithMetrics) ResyncMempool(onNewTxAddr func(txid string, addr string)) (count int, err error) {
|
func (c *blockChainWithMetrics) ResyncMempool(onNewTxAddr func(txid string, addr string)) (count int, err error) {
|
||||||
defer func(s time.Time) { c.observeRPCLatency("ResyncMempool", s, err) }(time.Now())
|
defer func(s time.Time) { c.observeRPCLatency("ResyncMempool", s, err) }(time.Now())
|
||||||
return c.b.ResyncMempool(onNewTxAddr)
|
count, err = c.b.ResyncMempool(onNewTxAddr)
|
||||||
|
if err == nil {
|
||||||
|
c.m.MempoolSize.Set(float64(count))
|
||||||
|
}
|
||||||
|
return count, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *blockChainWithMetrics) GetMempoolTransactions(address string) (v []string, err error) {
|
func (c *blockChainWithMetrics) GetMempoolTransactions(address string) (v []string, err error) {
|
||||||
|
|||||||
@ -18,6 +18,7 @@ type Metrics struct {
|
|||||||
IndexResyncErrors *prometheus.CounterVec
|
IndexResyncErrors *prometheus.CounterVec
|
||||||
IndexDBSize prometheus.Gauge
|
IndexDBSize prometheus.Gauge
|
||||||
ExplorerViews *prometheus.CounterVec
|
ExplorerViews *prometheus.CounterVec
|
||||||
|
MempoolSize prometheus.Gauge
|
||||||
}
|
}
|
||||||
|
|
||||||
type Labels = prometheus.Labels
|
type Labels = prometheus.Labels
|
||||||
@ -113,6 +114,13 @@ func GetMetrics(coin string) (*Metrics, error) {
|
|||||||
},
|
},
|
||||||
[]string{"action"},
|
[]string{"action"},
|
||||||
)
|
)
|
||||||
|
metrics.MempoolSize = prometheus.NewGauge(
|
||||||
|
prometheus.GaugeOpts{
|
||||||
|
Name: "blockbook_mempool_size",
|
||||||
|
Help: "Mempool size (number of transactions)",
|
||||||
|
ConstLabels: Labels{"coin": coin},
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
v := reflect.ValueOf(metrics)
|
v := reflect.ValueOf(metrics)
|
||||||
for i := 0; i < v.NumField(); i++ {
|
for i := 0; i < v.NumField(); i++ {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user