mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 15:16:43 +00:00
feat: add miner idle metric (#1023)
This commit is contained in:
parent
e0203bf9b7
commit
bdb1ffb97a
2 changed files with 8 additions and 1 deletions
|
|
@ -65,6 +65,7 @@ var (
|
||||||
collectL2Timer = metrics.NewRegisteredTimer("miner/collect_l2_txns", nil)
|
collectL2Timer = metrics.NewRegisteredTimer("miner/collect_l2_txns", nil)
|
||||||
l2CommitTimer = metrics.NewRegisteredTimer("miner/commit", nil)
|
l2CommitTimer = metrics.NewRegisteredTimer("miner/commit", nil)
|
||||||
cccStallTimer = metrics.NewRegisteredTimer("miner/ccc_stall", nil)
|
cccStallTimer = metrics.NewRegisteredTimer("miner/ccc_stall", nil)
|
||||||
|
idleTimer = metrics.NewRegisteredTimer("miner/idle", nil)
|
||||||
|
|
||||||
commitReasonCCCCounter = metrics.NewRegisteredCounter("miner/commit_reason_ccc", nil)
|
commitReasonCCCCounter = metrics.NewRegisteredCounter("miner/commit_reason_ccc", nil)
|
||||||
commitReasonDeadlineCounter = metrics.NewRegisteredCounter("miner/commit_reason_deadline", nil)
|
commitReasonDeadlineCounter = metrics.NewRegisteredCounter("miner/commit_reason_deadline", nil)
|
||||||
|
|
@ -354,8 +355,10 @@ func (w *worker) mainLoop() {
|
||||||
w.current = nil
|
w.current = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
idleStart := time.Now()
|
||||||
select {
|
select {
|
||||||
case <-w.startCh:
|
case <-w.startCh:
|
||||||
|
idleTimer.UpdateSince(idleStart)
|
||||||
if w.isRunning() {
|
if w.isRunning() {
|
||||||
if err := w.checkHeadRowConsumption(); err != nil {
|
if err := w.checkHeadRowConsumption(); err != nil {
|
||||||
log.Error("failed to start head checkers", "err", err)
|
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)
|
_, err = w.tryCommitNewWork(time.Now(), w.chain.CurrentHeader().Hash(), nil)
|
||||||
case trigger := <-w.reorgCh:
|
case trigger := <-w.reorgCh:
|
||||||
|
idleTimer.UpdateSince(idleStart)
|
||||||
err = w.handleReorg(&trigger)
|
err = w.handleReorg(&trigger)
|
||||||
case chainHead := <-w.chainHeadCh:
|
case chainHead := <-w.chainHeadCh:
|
||||||
|
idleTimer.UpdateSince(idleStart)
|
||||||
if w.isCanonical(chainHead.Block.Header()) {
|
if w.isCanonical(chainHead.Block.Header()) {
|
||||||
_, err = w.tryCommitNewWork(time.Now(), chainHead.Block.Hash(), nil)
|
_, err = w.tryCommitNewWork(time.Now(), chainHead.Block.Hash(), nil)
|
||||||
}
|
}
|
||||||
case <-w.current.deadlineCh():
|
case <-w.current.deadlineCh():
|
||||||
|
idleTimer.UpdateSince(idleStart)
|
||||||
w.current.deadlineReached = true
|
w.current.deadlineReached = true
|
||||||
if len(w.current.txs) > 0 {
|
if len(w.current.txs) > 0 {
|
||||||
_, err = w.commit(false)
|
_, err = w.commit(false)
|
||||||
}
|
}
|
||||||
case ev := <-w.txsCh:
|
case ev := <-w.txsCh:
|
||||||
|
idleTimer.UpdateSince(idleStart)
|
||||||
// Apply transactions to the pending state
|
// Apply transactions to the pending state
|
||||||
//
|
//
|
||||||
// Note all transactions received may not be continuous with transactions
|
// Note all transactions received may not be continuous with transactions
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import (
|
||||||
const (
|
const (
|
||||||
VersionMajor = 5 // Major version component of the current release
|
VersionMajor = 5 // Major version component of the current release
|
||||||
VersionMinor = 7 // Minor 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
|
VersionMeta = "mainnet" // Version metadata to append to the version string
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue