github.com/MetalBlockchain/metalgo@v1.11.9/snow/engine/avalanche/bootstrap/metrics.go (about)

     1  // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved.
     2  // See the file LICENSE for licensing terms.
     3  
     4  package bootstrap
     5  
     6  import (
     7  	"errors"
     8  
     9  	"github.com/prometheus/client_golang/prometheus"
    10  )
    11  
    12  type metrics struct {
    13  	numFetchedVts, numAcceptedVts,
    14  	numFetchedTxs, numAcceptedTxs prometheus.Counter
    15  }
    16  
    17  func (m *metrics) Initialize(registerer prometheus.Registerer) error {
    18  	m.numFetchedVts = prometheus.NewCounter(prometheus.CounterOpts{
    19  		Name: "bs_fetched_vts",
    20  		Help: "Number of vertices fetched during bootstrapping",
    21  	})
    22  	m.numAcceptedVts = prometheus.NewCounter(prometheus.CounterOpts{
    23  		Name: "bs_accepted_vts",
    24  		Help: "Number of vertices accepted during bootstrapping",
    25  	})
    26  
    27  	m.numFetchedTxs = prometheus.NewCounter(prometheus.CounterOpts{
    28  		Name: "bs_fetched_txs",
    29  		Help: "Number of transactions fetched during bootstrapping",
    30  	})
    31  	m.numAcceptedTxs = prometheus.NewCounter(prometheus.CounterOpts{
    32  		Name: "bs_accepted_txs",
    33  		Help: "Number of transactions accepted during bootstrapping",
    34  	})
    35  
    36  	return errors.Join(
    37  		registerer.Register(m.numFetchedVts),
    38  		registerer.Register(m.numAcceptedVts),
    39  		registerer.Register(m.numFetchedTxs),
    40  		registerer.Register(m.numAcceptedTxs),
    41  	)
    42  }