github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/aggregator/metrics/metrics.go (about)

     1  package metrics
     2  
     3  import (
     4  	"github.com/0xPolygon/supernets2-node/metrics"
     5  	"github.com/prometheus/client_golang/prometheus"
     6  )
     7  
     8  const (
     9  	prefix                      = "aggregator_"
    10  	currentConnectedProversName = prefix + "current_connected_provers"
    11  	currentWorkingProversName   = prefix + "current_working_provers"
    12  )
    13  
    14  // Register the metrics for the sequencer package.
    15  func Register() {
    16  	gauges := []prometheus.GaugeOpts{
    17  		{
    18  			Name: currentConnectedProversName,
    19  			Help: "[AGGREGATOR] current connected provers",
    20  		},
    21  		{
    22  			Name: currentWorkingProversName,
    23  			Help: "[AGGREGATOR] current working provers",
    24  		},
    25  	}
    26  
    27  	metrics.RegisterGauges(gauges...)
    28  }
    29  
    30  // ConnectedProver increments the gauge for the current number of connected
    31  // provers.
    32  func ConnectedProver() {
    33  	metrics.GaugeInc(currentConnectedProversName)
    34  }
    35  
    36  // DisconnectedProver decrements the gauge for the current number of connected
    37  // provers.
    38  func DisconnectedProver() {
    39  	metrics.GaugeDec(currentConnectedProversName)
    40  }
    41  
    42  // WorkingProver increments the gauge for the current number of working
    43  // provers.
    44  func WorkingProver() {
    45  	metrics.GaugeInc(currentWorkingProversName)
    46  }
    47  
    48  // IdlingProver decrements the gauge for the current number of working provers.
    49  func IdlingProver() {
    50  	metrics.GaugeDec(currentWorkingProversName)
    51  }