mirror of
https://github.com/scroll-tech/scroll.git
synced 2026-01-14 16:37:56 -05:00
96 lines
4.4 KiB
Go
96 lines
4.4 KiB
Go
package sender
|
|
|
|
import (
|
|
"sync"
|
|
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
"github.com/prometheus/client_golang/prometheus/promauto"
|
|
)
|
|
|
|
type senderMetrics struct {
|
|
senderCheckBalancerTotal *prometheus.CounterVec
|
|
senderCheckPendingTransactionTotal *prometheus.CounterVec
|
|
sendTransactionTotal *prometheus.CounterVec
|
|
sendTransactionFailureFullTx *prometheus.GaugeVec
|
|
sendTransactionFailureRepeatTransaction *prometheus.CounterVec
|
|
sendTransactionFailureGetFee *prometheus.CounterVec
|
|
sendTransactionFailureSendTx *prometheus.CounterVec
|
|
resubmitTransactionTotal *prometheus.CounterVec
|
|
currentPendingTxsNum *prometheus.GaugeVec
|
|
currentGasFeeCap *prometheus.GaugeVec
|
|
currentGasTipCap *prometheus.GaugeVec
|
|
currentGasPrice *prometheus.GaugeVec
|
|
currentGasLimit *prometheus.GaugeVec
|
|
currentNonce *prometheus.GaugeVec
|
|
}
|
|
|
|
var (
|
|
initSenderMetricOnce sync.Once
|
|
sm *senderMetrics
|
|
)
|
|
|
|
func initSenderMetrics(reg prometheus.Registerer) *senderMetrics {
|
|
initSenderMetricOnce.Do(func() {
|
|
sm = &senderMetrics{
|
|
sendTransactionTotal: promauto.With(reg).NewCounterVec(prometheus.CounterOpts{
|
|
Name: "rollup_sender_send_transaction_total",
|
|
Help: "The total number of sending transaction.",
|
|
}, []string{"service", "name"}),
|
|
sendTransactionFailureFullTx: promauto.With(reg).NewGaugeVec(prometheus.GaugeOpts{
|
|
Name: "rollup_sender_send_transaction_full_tx_failure_total",
|
|
Help: "The total number of sending transaction failure for full size tx.",
|
|
}, []string{"service", "name"}),
|
|
sendTransactionFailureRepeatTransaction: promauto.With(reg).NewCounterVec(prometheus.CounterOpts{
|
|
Name: "rollup_sender_send_transaction_repeat_transaction_failure_total",
|
|
Help: "The total number of sending transaction failure for repeat transaction.",
|
|
}, []string{"service", "name"}),
|
|
sendTransactionFailureGetFee: promauto.With(reg).NewCounterVec(prometheus.CounterOpts{
|
|
Name: "rollup_sender_send_transaction_get_fee_failure_total",
|
|
Help: "The total number of sending transaction failure for getting fee.",
|
|
}, []string{"service", "name"}),
|
|
sendTransactionFailureSendTx: promauto.With(reg).NewCounterVec(prometheus.CounterOpts{
|
|
Name: "rollup_sender_send_transaction_send_tx_failure_total",
|
|
Help: "The total number of sending transaction failure for sending tx.",
|
|
}, []string{"service", "name"}),
|
|
resubmitTransactionTotal: promauto.With(reg).NewCounterVec(prometheus.CounterOpts{
|
|
Name: "rollup_sender_send_transaction_resubmit_send_transaction_total",
|
|
Help: "The total number of resubmit transaction.",
|
|
}, []string{"service", "name"}),
|
|
currentPendingTxsNum: promauto.With(reg).NewGaugeVec(prometheus.GaugeOpts{
|
|
Name: "rollup_sender_pending_tx_count",
|
|
Help: "The pending tx count in the sender.",
|
|
}, []string{"service", "name"}),
|
|
currentGasFeeCap: promauto.With(reg).NewGaugeVec(prometheus.GaugeOpts{
|
|
Name: "rollup_sender_gas_fee_cap",
|
|
Help: "The gas fee of current transaction.",
|
|
}, []string{"service", "name"}),
|
|
currentGasTipCap: promauto.With(reg).NewGaugeVec(prometheus.GaugeOpts{
|
|
Name: "rollup_sender_gas_tip_cap",
|
|
Help: "The gas tip of current transaction.",
|
|
}, []string{"service", "name"}),
|
|
currentGasPrice: promauto.With(reg).NewGaugeVec(prometheus.GaugeOpts{
|
|
Name: "rollup_sender_gas_price_cap",
|
|
Help: "The gas price of current transaction.",
|
|
}, []string{"service", "name"}),
|
|
currentGasLimit: promauto.With(reg).NewGaugeVec(prometheus.GaugeOpts{
|
|
Name: "rollup_sender_gas_limit",
|
|
Help: "The gas limit of current transaction.",
|
|
}, []string{"service", "name"}),
|
|
currentNonce: promauto.With(reg).NewGaugeVec(prometheus.GaugeOpts{
|
|
Name: "rollup_sender_nonce",
|
|
Help: "The nonce of current transaction.",
|
|
}, []string{"service", "name"}),
|
|
senderCheckPendingTransactionTotal: promauto.With(reg).NewCounterVec(prometheus.CounterOpts{
|
|
Name: "rollup_sender_check_pending_transaction_total",
|
|
Help: "The total number of check pending transaction.",
|
|
}, []string{"service", "name"}),
|
|
senderCheckBalancerTotal: promauto.With(reg).NewCounterVec(prometheus.CounterOpts{
|
|
Name: "rollup_sender_check_balancer_total",
|
|
Help: "The total number of check balancer.",
|
|
}, []string{"service", "name"}),
|
|
}
|
|
})
|
|
|
|
return sm
|
|
}
|