mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-23 05:06:43 +00:00
core: track account trie wait
This commit is contained in:
parent
c6b2a6c05d
commit
97b516bb89
3 changed files with 18 additions and 13 deletions
|
|
@ -2158,6 +2158,7 @@ func (bc *BlockChain) ProcessBlock(parentRoot common.Hash, block *types.Block, s
|
|||
stats.AccountReads = statedb.AccountReads // Account reads are complete(in processing)
|
||||
stats.StorageReads = statedb.StorageReads // Storage reads are complete(in processing)
|
||||
stats.AccountUpdates = statedb.AccountUpdates // Account updates are complete(in validation)
|
||||
stats.AccountUpdateWait = statedb.AccountUpdateWait
|
||||
stats.StorageUpdates = statedb.StorageUpdates // Storage updates are complete(in validation)
|
||||
stats.AccountHashes = statedb.AccountHashes // Account hashes are complete(in validation)
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ type ExecuteStats struct {
|
|||
StorageReads time.Duration // Time spent on the storage reads
|
||||
AccountHashes time.Duration // Time spent on the account trie hash
|
||||
AccountUpdates time.Duration // Time spent on the account trie update
|
||||
AccountUpdateWait time.Duration // Time spent on waiting the account trie from prefetching
|
||||
AccountCommits time.Duration // Time spent on the account trie commit
|
||||
StorageUpdates time.Duration // Time spent on the storage trie update
|
||||
StorageCommits time.Duration // Time spent on the storage trie commit
|
||||
|
|
@ -114,7 +115,7 @@ EVM execution: %v
|
|||
Validation: %v
|
||||
Account read: %v(%d)
|
||||
Storage read: %v(%d)
|
||||
Account hash: %v
|
||||
Account hash: %v(wait=%v)
|
||||
Storage hash: %v
|
||||
DB commit: %v
|
||||
Block write: %v
|
||||
|
|
@ -126,7 +127,7 @@ Total: %v
|
|||
common.PrettyDuration(s.Execution), common.PrettyDuration(s.Validation+s.CrossValidation),
|
||||
common.PrettyDuration(s.AccountReads), s.AccountLoaded,
|
||||
common.PrettyDuration(s.StorageReads), s.StorageLoaded,
|
||||
common.PrettyDuration(s.AccountHashes+s.AccountCommits+s.AccountUpdates),
|
||||
common.PrettyDuration(s.AccountHashes+s.AccountCommits+s.AccountUpdates), common.PrettyDuration(s.AccountUpdateWait),
|
||||
common.PrettyDuration(s.StorageCommits+s.StorageUpdates),
|
||||
common.PrettyDuration(s.TrieDBCommit+s.SnapshotCommit), common.PrettyDuration(s.BlockWrite),
|
||||
common.PrettyDuration(s.TotalTime), s.StateReadCacheStats)
|
||||
|
|
|
|||
|
|
@ -144,6 +144,8 @@ type StateDB struct {
|
|||
AccountHashes time.Duration
|
||||
AccountUpdates time.Duration
|
||||
AccountCommits time.Duration
|
||||
AccountUpdateWait time.Duration
|
||||
|
||||
StorageReads time.Duration
|
||||
StorageUpdates time.Duration
|
||||
StorageCommits time.Duration
|
||||
|
|
@ -915,6 +917,7 @@ func (s *StateDB) IntermediateRoot(deleteEmptyObjects bool) common.Hash {
|
|||
} else {
|
||||
s.trie = trie
|
||||
}
|
||||
s.AccountUpdateWait += time.Since(start)
|
||||
}
|
||||
// Perform updates before deletions. This prevents resolution of unnecessary trie nodes
|
||||
// in circumstances similar to the following:
|
||||
|
|
|
|||
Loading…
Reference in a new issue