|
|
|
@ -70,8 +70,11 @@ var ( |
|
|
|
|
blockValidationTimer = metrics.NewRegisteredTimer("chain/validation", nil) |
|
|
|
|
blockExecutionTimer = metrics.NewRegisteredTimer("chain/execution", nil) |
|
|
|
|
blockWriteTimer = metrics.NewRegisteredTimer("chain/write", nil) |
|
|
|
|
blockReorgAddMeter = metrics.NewRegisteredMeter("chain/reorg/drop", nil) |
|
|
|
|
blockReorgDropMeter = metrics.NewRegisteredMeter("chain/reorg/add", nil) |
|
|
|
|
|
|
|
|
|
blockReorgMeter = metrics.NewRegisteredMeter("chain/reorg/executes", nil) |
|
|
|
|
blockReorgAddMeter = metrics.NewRegisteredMeter("chain/reorg/add", nil) |
|
|
|
|
blockReorgDropMeter = metrics.NewRegisteredMeter("chain/reorg/drop", nil) |
|
|
|
|
blockReorgInvalidatedTx = metrics.NewRegisteredMeter("chain/reorg/invalidTx", nil) |
|
|
|
|
|
|
|
|
|
blockPrefetchExecuteTimer = metrics.NewRegisteredTimer("chain/prefetch/executes", nil) |
|
|
|
|
blockPrefetchInterruptMeter = metrics.NewRegisteredMeter("chain/prefetch/interrupts", nil) |
|
|
|
@ -2152,6 +2155,7 @@ func (bc *BlockChain) reorg(oldBlock, newBlock *types.Block) error { |
|
|
|
|
"drop", len(oldChain), "dropfrom", oldChain[0].Hash(), "add", len(newChain), "addfrom", newChain[0].Hash()) |
|
|
|
|
blockReorgAddMeter.Mark(int64(len(newChain))) |
|
|
|
|
blockReorgDropMeter.Mark(int64(len(oldChain))) |
|
|
|
|
blockReorgMeter.Mark(1) |
|
|
|
|
} else { |
|
|
|
|
log.Error("Impossible reorg, please file an issue", "oldnum", oldBlock.Number(), "oldhash", oldBlock.Hash(), "newnum", newBlock.Number(), "newhash", newBlock.Hash()) |
|
|
|
|
} |
|
|
|
|