Skip to content

Commit dbc7781

Browse files
authored
Pass TimeConfig to ValidatorMonitor (#7613)
ValidatorMonitor uses slot.attestation_deadline() for metrics / logs, which ultimately depends on SECONDS_PER_SLOT. Passing that config now reduces the subsequent diff when the compile-time constant is replaced.
1 parent 9c7cac7 commit dbc7781

16 files changed

+57
-47
lines changed

beacon_chain/nimbus_beacon_node.nim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,7 @@ proc init*(
913913
# break existing setups
914914
let
915915
validatorMonitor = newClone(ValidatorMonitor.init(
916+
cfg.time,
916917
config.validatorMonitorAuto,
917918
config.validatorMonitorTotals.get(
918919
not config.validatorMonitorDetails)))

beacon_chain/trusted_node_sync.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ proc doTrustedNodeSync*(
377377
# Coming this far, we've done what ChainDAGRef.preInit would normally do -
378378
# we can now load a ChainDAG to start backfilling it
379379
let
380-
validatorMonitor = newClone(ValidatorMonitor.init(false, false))
380+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time, false, false))
381381
dag = ChainDAGRef.init(cfg, db, validatorMonitor, {}, eraPath = eraDir)
382382
backfillSlot = max(dag.backfill.slot, 1.Slot) - 1
383383
horizon = max(dag.horizon, dag.frontfill.valueOr(BlockId()).slot)

beacon_chain/validators/validator_monitor.nim

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,8 @@ type
194194
summaries: array[2, EpochSummary] # We monitor the current and previous epochs
195195

196196
ValidatorMonitor* = object
197+
timeConfig: TimeConfig
198+
197199
epoch: Epoch # The most recent epoch seen in monitoring
198200

199201
monitors: Table[ValidatorPubKey, ref MonitoredValidator]
@@ -257,8 +259,12 @@ proc addAutoMonitor*(
257259
info "Started monitoring validator",
258260
validator = shortLog(pubkey), pubkey, index
259261

260-
func init*(T: type ValidatorMonitor, autoRegister = false, totals = false): T =
261-
T(autoRegister: autoRegister, totals: totals)
262+
func init*(
263+
T: type ValidatorMonitor,
264+
timeConfig: TimeConfig,
265+
autoRegister = false,
266+
totals = false): T =
267+
T(timeConfig: timeConfig, autoRegister: autoRegister, totals: totals)
262268

263269
template summaryIdx(epoch: Epoch): int = (epoch.uint64 mod 2).int
264270

ncli/ncli_db.nim

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ proc cmdBench(conf: DbConf, cfg: RuntimeConfig) =
239239

240240
echo "Initializing block pool..."
241241
let
242-
validatorMonitor = newClone(ValidatorMonitor.init())
242+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
243243
dag = withTimerRet(timers[tInit]):
244244
ChainDAGRef.init(cfg, db, validatorMonitor, {}, conf.eraDir)
245245

@@ -531,7 +531,7 @@ proc cmdRewindState(conf: DbConf, cfg: RuntimeConfig) =
531531
echo "Initializing block pool..."
532532

533533
let
534-
validatorMonitor = newClone(ValidatorMonitor.init())
534+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
535535
dag = ChainDAGRef.init(cfg, db, validatorMonitor, {}, conf.eraDir)
536536

537537
let bid = dag.getBlockId(fromHex(Eth2Digest, conf.blockRoot)).valueOr:
@@ -569,7 +569,7 @@ proc cmdExportEra(conf: DbConf, cfg: RuntimeConfig) =
569569
tBlocks
570570

571571
let
572-
validatorMonitor = newClone(ValidatorMonitor.init())
572+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
573573
dag = ChainDAGRef.init(cfg, db, validatorMonitor, {}, conf.eraDir)
574574

575575
let tmpState = assignClone(dag.headState)
@@ -751,7 +751,7 @@ proc cmdValidatorPerf(conf: DbConf, cfg: RuntimeConfig) =
751751

752752
echo "# Initializing block pool..."
753753
let
754-
validatorMonitor = newClone(ValidatorMonitor.init())
754+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
755755
dag = ChainDAGRef.init(cfg, db, validatorMonitor, {}, conf.eraDir)
756756

757757
var
@@ -987,7 +987,7 @@ proc cmdValidatorDb(conf: DbConf, cfg: RuntimeConfig) =
987987

988988
echo "Initializing block pool..."
989989
let
990-
validatorMonitor = newClone(ValidatorMonitor.init())
990+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
991991
dag = ChainDAGRef.init(cfg, db, validatorMonitor, {}, conf.eraDir)
992992

993993
let outDb = SqStoreRef.init(conf.outDir, "validatorDb").expect("DB")

research/block_sim.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ cli do(
7777
ChainDAGRef.preInit(db, genesisState[])
7878
let rng = HmacDrbgContext.new()
7979
var
80-
validatorMonitor = newClone(ValidatorMonitor.init())
80+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
8181
dag = ChainDAGRef.init(cfg, db, validatorMonitor, {})
8282
taskpool =
8383
try:

tests/consensus_spec/test_fixture_fork_choice.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ proc initialLoad(
101101

102102
let
103103
cfg = forkedState[].kind.genesisTestRuntimeConfig
104-
validatorMonitor = newClone(ValidatorMonitor.init())
104+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
105105
dag = ChainDAGRef.init(cfg, db, validatorMonitor, {})
106106
fkChoice = newClone(ForkChoice.init(
107107
dag.getFinalizedEpochRef(), dag.finalizedHead.blck))

tests/consensus_spec/test_fixture_light_client_data_collection.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ proc runTest(suiteName, path: string, consensusFork: static ConsensusFork) =
138138
ChainDAGRef.preInit(db, initial_state[])
139139

140140
let
141-
validatorMonitor = newClone(ValidatorMonitor.init(false, false))
141+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time, false, false))
142142
dag = ChainDAGRef.init(cfg, db, validatorMonitor, {},
143143
lcDataConfig = LightClientDataConfig(
144144
serve: true, importMode: LightClientDataImportMode.Full))

tests/test_attestation_pool.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ suite "Attestation pool electra processing" & preset():
8383
const TOTAL_COMMITTEES = 2
8484
var
8585
cfg = genesisTestRuntimeConfig(ConsensusFork.Electra)
86-
validatorMonitor = newClone(ValidatorMonitor.init())
86+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
8787
dag = init(
8888
ChainDAGRef, cfg,
8989
cfg.makeTestDB(

tests/test_beacon_chain_db.nim

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ proc getTestStates(
115115
consensusFork: ConsensusFork): seq[ref ForkedHashedBeaconState] =
116116
let
117117
db = cfg.makeTestDB(SLOTS_PER_EPOCH)
118-
validatorMonitor = newClone(ValidatorMonitor.init())
118+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
119119
dag = init(ChainDAGRef, cfg, db, validatorMonitor, {})
120120
var testStates = getTestStates(dag.headState, consensusFork)
121121

@@ -258,7 +258,7 @@ suite "Beacon chain DB" & preset():
258258
block:
259259
var
260260
db = cfg.makeTestDB(SLOTS_PER_EPOCH)
261-
validatorMonitor = newClone(ValidatorMonitor.init())
261+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
262262
dag = init(ChainDAGRef, cfg, db, validatorMonitor, {})
263263
state = ForkedHashedBeaconState.new(
264264
(ref consensusFork.BeaconState)(slot: 10.Slot)[])

tests/test_block_processor.nim

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ suite "Block processor" & preset():
4343
res.BELLATRIX_FORK_EPOCH = GENESIS_EPOCH
4444
res
4545
db = cfg.makeTestDB(SLOTS_PER_EPOCH)
46-
validatorMonitor = newClone(ValidatorMonitor.init())
46+
validatorMonitor = newClone(ValidatorMonitor.init(cfg.time))
4747
dag = init(ChainDAGRef, cfg, db, validatorMonitor, {})
4848
var
4949
taskpool = Taskpool.new()
@@ -112,7 +112,7 @@ suite "Block processor" & preset():
112112

113113
# check that init also reloads block graph
114114
var
115-
validatorMonitor2 = newClone(ValidatorMonitor.init())
115+
validatorMonitor2 = newClone(ValidatorMonitor.init(cfg.time))
116116
dag2 = init(ChainDAGRef, cfg, db, validatorMonitor2, {})
117117

118118
check:

0 commit comments

Comments
 (0)