|
1 | 1 | use crate::config::{OnDiskStoreConfig, StoreConfig}; |
2 | 2 | use crate::database::interface::BeaconNodeBackend; |
3 | 3 | use crate::forwards_iter::{HybridForwardsBlockRootsIterator, HybridForwardsStateRootsIterator}; |
4 | | -use crate::hdiff::{HDiff, HDiffBuffer, HierarchyModuli, StorageStrategy}; |
| 4 | +use crate::hdiff::{HDiff, HDiffBuffer, HierarchyConfig, HierarchyModuli, StorageStrategy}; |
5 | 5 | use crate::historic_state_cache::HistoricStateCache; |
6 | 6 | use crate::iter::{BlockRootsIterator, ParentRootBlockIterator, RootsIterator}; |
7 | 7 | use crate::memory_store::MemoryStore; |
@@ -1588,6 +1588,12 @@ impl<E: EthSpec, Hot: ItemStore<E>, Cold: ItemStore<E>> HotColdDB<E, Hot, Cold> |
1588 | 1588 | HDiff::compute(&base_buffer, &target_buffer, &self.config)? |
1589 | 1589 | }; |
1590 | 1590 | let diff_bytes = diff.as_ssz_bytes(); |
| 1591 | + let layer = HierarchyConfig::exponent_for_slot(state.slot()); |
| 1592 | + metrics::observe_vec( |
| 1593 | + &metrics::BEACON_HDIFF_SIZES, |
| 1594 | + &[&layer.to_string()], |
| 1595 | + diff_bytes.len() as f64, |
| 1596 | + ); |
1591 | 1597 | ops.push(KeyValueStoreOp::PutKeyValue( |
1592 | 1598 | DBColumn::BeaconStateHotDiff, |
1593 | 1599 | state_root.as_slice().to_vec(), |
@@ -2038,6 +2044,12 @@ impl<E: EthSpec, Hot: ItemStore<E>, Cold: ItemStore<E>> HotColdDB<E, Hot, Cold> |
2038 | 2044 | HDiff::compute(&base_buffer, &target_buffer, &self.config)? |
2039 | 2045 | }; |
2040 | 2046 | let diff_bytes = diff.as_ssz_bytes(); |
| 2047 | + let layer = HierarchyConfig::exponent_for_slot(state.slot()); |
| 2048 | + metrics::observe_vec( |
| 2049 | + &metrics::BEACON_HDIFF_SIZES, |
| 2050 | + &[&layer.to_string()], |
| 2051 | + diff_bytes.len() as f64, |
| 2052 | + ); |
2041 | 2053 |
|
2042 | 2054 | ops.push(KeyValueStoreOp::PutKeyValue( |
2043 | 2055 | DBColumn::BeaconStateDiff, |
|
0 commit comments