github.com/MetalBlockchain/metalgo@v1.11.9/vms/metervm/vertex_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 metervm
     5  
     6  import (
     7  	"github.com/prometheus/client_golang/prometheus"
     8  
     9  	"github.com/MetalBlockchain/metalgo/utils/metric"
    10  	"github.com/MetalBlockchain/metalgo/utils/wrappers"
    11  )
    12  
    13  type vertexMetrics struct {
    14  	parse,
    15  	parseErr,
    16  	verify,
    17  	verifyErr,
    18  	accept,
    19  	reject metric.Averager
    20  }
    21  
    22  func (m *vertexMetrics) Initialize(reg prometheus.Registerer) error {
    23  	errs := wrappers.Errs{}
    24  	m.parse = newAverager("parse_tx", reg, &errs)
    25  	m.parseErr = newAverager("parse_tx_err", reg, &errs)
    26  	m.verify = newAverager("verify_tx", reg, &errs)
    27  	m.verifyErr = newAverager("verify_tx_err", reg, &errs)
    28  	m.accept = newAverager("accept", reg, &errs)
    29  	m.reject = newAverager("reject", reg, &errs)
    30  	return errs.Err
    31  }