github.com/MetalBlockchain/metalgo@v1.11.9/snow/engine/snowman/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  	numFetched, numAccepted prometheus.Counter
    14  }
    15  
    16  func newMetrics(registerer prometheus.Registerer) (*metrics, error) {
    17  	m := &metrics{
    18  		numFetched: prometheus.NewCounter(prometheus.CounterOpts{
    19  			Name: "bs_fetched",
    20  			Help: "Number of blocks fetched during bootstrapping",
    21  		}),
    22  		numAccepted: prometheus.NewCounter(prometheus.CounterOpts{
    23  			Name: "bs_accepted",
    24  			Help: "Number of blocks accepted during bootstrapping",
    25  		}),
    26  	}
    27  
    28  	err := errors.Join(
    29  		registerer.Register(m.numFetched),
    30  		registerer.Register(m.numAccepted),
    31  	)
    32  	return m, err
    33  }