mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
core/state/snapshot: fix expensive metric, track snapshot flushed keys
This commit is contained in:
parent
b40fade42c
commit
157bc26b5a
1 changed files with 10 additions and 5 deletions
|
|
@ -550,8 +550,10 @@ func diffToDisk(bottom *diffLayer) *diskLayer {
|
||||||
base.cache.Set(hash[:], data)
|
base.cache.Set(hash[:], data)
|
||||||
|
|
||||||
snapshotCleanAccountWriteMeter.Mark(int64(len(data)))
|
snapshotCleanAccountWriteMeter.Mark(int64(len(data)))
|
||||||
|
|
||||||
snapshotFlushAccountItemMeter.Mark(1)
|
snapshotFlushAccountItemMeter.Mark(1)
|
||||||
snapshotFlushAccountSizeMeter.Mark(int64(len(data)))
|
snapshotFlushAccountSizeMeter.Mark(common.HashLength + int64(len(data)))
|
||||||
|
|
||||||
if metrics.EnabledExpensive {
|
if metrics.EnabledExpensive {
|
||||||
if oldbytes := len(rawdb.ReadAccountSnapshot(base.diskdb, hash)); oldbytes == 0 {
|
if oldbytes := len(rawdb.ReadAccountSnapshot(base.diskdb, hash)); oldbytes == 0 {
|
||||||
snapshotAccountCountGrowthMeter.Mark(1)
|
snapshotAccountCountGrowthMeter.Mark(1)
|
||||||
|
|
@ -596,16 +598,19 @@ func diffToDisk(bottom *diffLayer) *diskLayer {
|
||||||
} else {
|
} else {
|
||||||
snapshotStorageBytesGrowthMeter.Mark(int64(len(data) - oldbytes))
|
snapshotStorageBytesGrowthMeter.Mark(int64(len(data) - oldbytes))
|
||||||
}
|
}
|
||||||
|
snapshotFlushStorageItemMeter.Mark(1)
|
||||||
|
snapshotFlushStorageSizeMeter.Mark(2*common.HashLength + int64(len(data)))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
rawdb.DeleteStorageSnapshot(batch, accountHash, storageHash)
|
rawdb.DeleteStorageSnapshot(batch, accountHash, storageHash)
|
||||||
base.cache.Set(append(accountHash[:], storageHash[:]...), nil)
|
base.cache.Set(append(accountHash[:], storageHash[:]...), nil)
|
||||||
|
|
||||||
|
if metrics.EnabledExpensive {
|
||||||
snapshotStorageCountGrowthMeter.Mark(-1)
|
snapshotStorageCountGrowthMeter.Mark(-1)
|
||||||
snapshotStorageBytesGrowthMeter.Mark(-int64(2*common.HashLength + len(rawdb.ReadStorageSnapshot(base.diskdb, accountHash, storageHash))))
|
snapshotStorageBytesGrowthMeter.Mark(-int64(2*common.HashLength + len(rawdb.ReadStorageSnapshot(base.diskdb, accountHash, storageHash))))
|
||||||
}
|
}
|
||||||
snapshotFlushStorageItemMeter.Mark(1)
|
snapshotFlushStorageItemMeter.Mark(1)
|
||||||
snapshotFlushStorageSizeMeter.Mark(int64(len(data)))
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Update the snapshot block marker and write any remainder data
|
// Update the snapshot block marker and write any remainder data
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue