Skip to content

Commit ef583e9

Browse files
authored
core/state: remove useless metrics (#30184)
Originally, these metrics were added to track the largest storage wiping. Since account self-destruction was deprecated with the Cancun fork, these metrics have become meaningless.
1 parent 7abe84c commit ef583e9

File tree

2 files changed

+14
-38
lines changed

2 files changed

+14
-38
lines changed

core/state/metrics.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,4 @@ var (
2727
storageTriesUpdatedMeter = metrics.NewRegisteredMeter("state/update/storagenodes", nil)
2828
accountTrieDeletedMeter = metrics.NewRegisteredMeter("state/delete/accountnodes", nil)
2929
storageTriesDeletedMeter = metrics.NewRegisteredMeter("state/delete/storagenodes", nil)
30-
31-
slotDeletionMaxCount = metrics.NewRegisteredGauge("state/delete/storage/max/slot", nil)
32-
slotDeletionMaxSize = metrics.NewRegisteredGauge("state/delete/storage/max/size", nil)
33-
slotDeletionTimer = metrics.NewRegisteredResettingTimer("state/delete/storage/timer", nil)
34-
slotDeletionCount = metrics.NewRegisteredMeter("state/delete/storage/slot", nil)
35-
slotDeletionSize = metrics.NewRegisteredMeter("state/delete/storage/size", nil)
3630
)

core/state/statedb.go

Lines changed: 14 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -992,76 +992,70 @@ func (s *StateDB) clearJournalAndRefund() {
992992
// of a specific account. It leverages the associated state snapshot for fast
993993
// storage iteration and constructs trie node deletion markers by creating
994994
// stack trie with iterated slots.
995-
func (s *StateDB) fastDeleteStorage(addrHash common.Hash, root common.Hash) (common.StorageSize, map[common.Hash][]byte, *trienode.NodeSet, error) {
995+
func (s *StateDB) fastDeleteStorage(addrHash common.Hash, root common.Hash) (map[common.Hash][]byte, *trienode.NodeSet, error) {
996996
iter, err := s.snaps.StorageIterator(s.originalRoot, addrHash, common.Hash{})
997997
if err != nil {
998-
return 0, nil, nil, err
998+
return nil, nil, err
999999
}
10001000
defer iter.Release()
10011001

10021002
var (
1003-
size common.StorageSize
10041003
nodes = trienode.NewNodeSet(addrHash)
10051004
slots = make(map[common.Hash][]byte)
10061005
)
10071006
stack := trie.NewStackTrie(func(path []byte, hash common.Hash, blob []byte) {
10081007
nodes.AddNode(path, trienode.NewDeleted())
1009-
size += common.StorageSize(len(path))
10101008
})
10111009
for iter.Next() {
10121010
slot := common.CopyBytes(iter.Slot())
10131011
if err := iter.Error(); err != nil { // error might occur after Slot function
1014-
return 0, nil, nil, err
1012+
return nil, nil, err
10151013
}
1016-
size += common.StorageSize(common.HashLength + len(slot))
10171014
slots[iter.Hash()] = slot
10181015

10191016
if err := stack.Update(iter.Hash().Bytes(), slot); err != nil {
1020-
return 0, nil, nil, err
1017+
return nil, nil, err
10211018
}
10221019
}
10231020
if err := iter.Error(); err != nil { // error might occur during iteration
1024-
return 0, nil, nil, err
1021+
return nil, nil, err
10251022
}
10261023
if stack.Hash() != root {
1027-
return 0, nil, nil, fmt.Errorf("snapshot is not matched, exp %x, got %x", root, stack.Hash())
1024+
return nil, nil, fmt.Errorf("snapshot is not matched, exp %x, got %x", root, stack.Hash())
10281025
}
1029-
return size, slots, nodes, nil
1026+
return slots, nodes, nil
10301027
}
10311028

10321029
// slowDeleteStorage serves as a less-efficient alternative to "fastDeleteStorage,"
10331030
// employed when the associated state snapshot is not available. It iterates the
10341031
// storage slots along with all internal trie nodes via trie directly.
1035-
func (s *StateDB) slowDeleteStorage(addr common.Address, addrHash common.Hash, root common.Hash) (common.StorageSize, map[common.Hash][]byte, *trienode.NodeSet, error) {
1032+
func (s *StateDB) slowDeleteStorage(addr common.Address, addrHash common.Hash, root common.Hash) (map[common.Hash][]byte, *trienode.NodeSet, error) {
10361033
tr, err := s.db.OpenStorageTrie(s.originalRoot, addr, root, s.trie)
10371034
if err != nil {
1038-
return 0, nil, nil, fmt.Errorf("failed to open storage trie, err: %w", err)
1035+
return nil, nil, fmt.Errorf("failed to open storage trie, err: %w", err)
10391036
}
10401037
it, err := tr.NodeIterator(nil)
10411038
if err != nil {
1042-
return 0, nil, nil, fmt.Errorf("failed to open storage iterator, err: %w", err)
1039+
return nil, nil, fmt.Errorf("failed to open storage iterator, err: %w", err)
10431040
}
10441041
var (
1045-
size common.StorageSize
10461042
nodes = trienode.NewNodeSet(addrHash)
10471043
slots = make(map[common.Hash][]byte)
10481044
)
10491045
for it.Next(true) {
10501046
if it.Leaf() {
10511047
slots[common.BytesToHash(it.LeafKey())] = common.CopyBytes(it.LeafBlob())
1052-
size += common.StorageSize(common.HashLength + len(it.LeafBlob()))
10531048
continue
10541049
}
10551050
if it.Hash() == (common.Hash{}) {
10561051
continue
10571052
}
1058-
size += common.StorageSize(len(it.Path()))
10591053
nodes.AddNode(it.Path(), trienode.NewDeleted())
10601054
}
10611055
if err := it.Error(); err != nil {
1062-
return 0, nil, nil, err
1056+
return nil, nil, err
10631057
}
1064-
return size, slots, nodes, nil
1058+
return slots, nodes, nil
10651059
}
10661060

10671061
// deleteStorage is designed to delete the storage trie of a designated account.
@@ -1070,34 +1064,22 @@ func (s *StateDB) slowDeleteStorage(addr common.Address, addrHash common.Hash, r
10701064
// efficient approach.
10711065
func (s *StateDB) deleteStorage(addr common.Address, addrHash common.Hash, root common.Hash) (map[common.Hash][]byte, *trienode.NodeSet, error) {
10721066
var (
1073-
start = time.Now()
10741067
err error
1075-
size common.StorageSize
10761068
slots map[common.Hash][]byte
10771069
nodes *trienode.NodeSet
10781070
)
10791071
// The fast approach can be failed if the snapshot is not fully
10801072
// generated, or it's internally corrupted. Fallback to the slow
10811073
// one just in case.
10821074
if s.snap != nil {
1083-
size, slots, nodes, err = s.fastDeleteStorage(addrHash, root)
1075+
slots, nodes, err = s.fastDeleteStorage(addrHash, root)
10841076
}
10851077
if s.snap == nil || err != nil {
1086-
size, slots, nodes, err = s.slowDeleteStorage(addr, addrHash, root)
1078+
slots, nodes, err = s.slowDeleteStorage(addr, addrHash, root)
10871079
}
10881080
if err != nil {
10891081
return nil, nil, err
10901082
}
1091-
// Report the metrics
1092-
n := int64(len(slots))
1093-
1094-
slotDeletionMaxCount.UpdateIfGt(int64(len(slots)))
1095-
slotDeletionMaxSize.UpdateIfGt(int64(size))
1096-
1097-
slotDeletionTimer.UpdateSince(start)
1098-
slotDeletionCount.Mark(n)
1099-
slotDeletionSize.Mark(int64(size))
1100-
11011083
return slots, nodes, nil
11021084
}
11031085

0 commit comments

Comments
 (0)