feat: add miner idle metric (#1023)

This commit is contained in:
Ömer Faruk Irmak 2024-09-05 17:50:04 +03:00 committed by GitHub
parent e0203bf9b7
commit bdb1ffb97a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 1 deletions

View file

@ -65,6 +65,7 @@ var (
collectL2Timer = metrics.NewRegisteredTimer("miner/collect_l2_txns", nil)
l2CommitTimer = metrics.NewRegisteredTimer("miner/commit", nil)
cccStallTimer = metrics.NewRegisteredTimer("miner/ccc_stall", nil)
idleTimer = metrics.NewRegisteredTimer("miner/idle", nil)
commitReasonCCCCounter = metrics.NewRegisteredCounter("miner/commit_reason_ccc", nil)
commitReasonDeadlineCounter = metrics.NewRegisteredCounter("miner/commit_reason_deadline", nil)
@ -354,8 +355,10 @@ func (w *worker) mainLoop() {
w.current = nil
}
idleStart := time.Now()
select {
case <-w.startCh:
idleTimer.UpdateSince(idleStart)
if w.isRunning() {
if err := w.checkHeadRowConsumption(); err != nil {
log.Error("failed to start head checkers", "err", err)
@ -364,17 +367,21 @@ func (w *worker) mainLoop() {
}
_, err = w.tryCommitNewWork(time.Now(), w.chain.CurrentHeader().Hash(), nil)
case trigger := <-w.reorgCh:
idleTimer.UpdateSince(idleStart)
err = w.handleReorg(&trigger)
case chainHead := <-w.chainHeadCh:
idleTimer.UpdateSince(idleStart)
if w.isCanonical(chainHead.Block.Header()) {
_, err = w.tryCommitNewWork(time.Now(), chainHead.Block.Hash(), nil)
}
case <-w.current.deadlineCh():
idleTimer.UpdateSince(idleStart)
w.current.deadlineReached = true
if len(w.current.txs) > 0 {
_, err = w.commit(false)
}
case ev := <-w.txsCh:
idleTimer.UpdateSince(idleStart)
// Apply transactions to the pending state
//
// Note all transactions received may not be continuous with transactions

View file

@ -24,7 +24,7 @@ import (
const (
VersionMajor = 5 // Major version component of the current release
VersionMinor = 7 // Minor version component of the current release
VersionPatch = 8 // Patch version component of the current release
VersionPatch = 9 // Patch version component of the current release
VersionMeta = "mainnet" // Version metadata to append to the version string
)