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 }