Skip to content

Commit 0bdd295

Browse files
core: more detailed metering for reorgs (#21420)
1 parent 7ebc6c4 commit 0bdd295

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

core/blockchain.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,11 @@ var (
7070
blockValidationTimer = metrics.NewRegisteredTimer("chain/validation", nil)
7171
blockExecutionTimer = metrics.NewRegisteredTimer("chain/execution", nil)
7272
blockWriteTimer = metrics.NewRegisteredTimer("chain/write", nil)
73-
blockReorgAddMeter = metrics.NewRegisteredMeter("chain/reorg/drop", nil)
74-
blockReorgDropMeter = metrics.NewRegisteredMeter("chain/reorg/add", nil)
73+
74+
blockReorgMeter = metrics.NewRegisteredMeter("chain/reorg/executes", nil)
75+
blockReorgAddMeter = metrics.NewRegisteredMeter("chain/reorg/add", nil)
76+
blockReorgDropMeter = metrics.NewRegisteredMeter("chain/reorg/drop", nil)
77+
blockReorgInvalidatedTx = metrics.NewRegisteredMeter("chain/reorg/invalidTx", nil)
7578

7679
blockPrefetchExecuteTimer = metrics.NewRegisteredTimer("chain/prefetch/executes", nil)
7780
blockPrefetchInterruptMeter = metrics.NewRegisteredMeter("chain/prefetch/interrupts", nil)
@@ -2152,6 +2155,7 @@ func (bc *BlockChain) reorg(oldBlock, newBlock *types.Block) error {
21522155
"drop", len(oldChain), "dropfrom", oldChain[0].Hash(), "add", len(newChain), "addfrom", newChain[0].Hash())
21532156
blockReorgAddMeter.Mark(int64(len(newChain)))
21542157
blockReorgDropMeter.Mark(int64(len(oldChain)))
2158+
blockReorgMeter.Mark(1)
21552159
} else {
21562160
log.Error("Impossible reorg, please file an issue", "oldnum", oldBlock.Number(), "oldhash", oldBlock.Hash(), "newnum", newBlock.Number(), "newhash", newBlock.Hash())
21572161
}

core/tx_pool.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1422,6 +1422,8 @@ func (pool *TxPool) demoteUnexecutables() {
14221422
pool.enqueueTx(hash, tx)
14231423
}
14241424
pendingGauge.Dec(int64(len(gapped)))
1425+
// This might happen in a reorg, so log it to the metering
1426+
blockReorgInvalidatedTx.Mark(int64(len(gapped)))
14251427
}
14261428
// Delete the entire pending entry if it became empty.
14271429
if list.Empty() {

0 commit comments

Comments
 (0)