Add timing metrics to bank creation and rewards calculation (#21066) (#21378)

(cherry picked from commit cd6f931223)

Co-authored-by: sakridge <sakridge@gmail.com>
This commit is contained in:
mergify[bot]
2021-11-21 21:00:12 +00:00
committed by GitHub
parent 42a67d30fc
commit 85302d6d17

View File

@ -1246,6 +1246,7 @@ impl Bank {
reward_calc_tracer: Option<impl Fn(&RewardCalculationEvent) + Send + Sync>, reward_calc_tracer: Option<impl Fn(&RewardCalculationEvent) + Send + Sync>,
new_bank_options: NewBankOptions, new_bank_options: NewBankOptions,
) -> Self { ) -> Self {
let mut time = Measure::start("bank::new_from_parent");
let NewBankOptions { let NewBankOptions {
vote_only_bank, vote_only_bank,
disable_epoch_boundary_optimization, disable_epoch_boundary_optimization,
@ -1345,13 +1346,6 @@ impl Bank {
cost_tracker: RwLock::new(CostTracker::default()), cost_tracker: RwLock::new(CostTracker::default()),
}; };
datapoint_info!(
"bank-new_from_parent-heights",
("slot_height", slot, i64),
("block_height", new.block_height, i64),
("parent_slot_height", parent.slot(), i64),
);
let mut ancestors = Vec::with_capacity(1 + new.parents().len()); let mut ancestors = Vec::with_capacity(1 + new.parents().len());
ancestors.push(new.slot()); ancestors.push(new.slot());
new.parents().iter().for_each(|p| { new.parents().iter().for_each(|p| {
@ -1418,6 +1412,16 @@ impl Bank {
new.update_recent_blockhashes(); new.update_recent_blockhashes();
} }
time.stop();
datapoint_info!(
"bank-new_from_parent-heights",
("slot_height", slot, i64),
("block_height", new.block_height, i64),
("parent_slot_height", parent.slot(), i64),
("time_us", time.as_us(), i64),
);
new new
} }
@ -1976,6 +1980,7 @@ impl Bank {
if prev_epoch == self.epoch() { if prev_epoch == self.epoch() {
return; return;
} }
let mut timing = Measure::start("epoch_rewards");
// if I'm the first Bank in an epoch, count, claim, disburse rewards from Inflation // if I'm the first Bank in an epoch, count, claim, disburse rewards from Inflation
let slot_in_year = self.slot_in_year_for_inflation(); let slot_in_year = self.slot_in_year_for_inflation();
@ -2054,6 +2059,7 @@ impl Bank {
} else { } else {
0 0
}; };
timing.stop();
datapoint_warn!( datapoint_warn!(
"epoch_rewards", "epoch_rewards",
@ -2065,7 +2071,8 @@ impl Bank {
("validator_rewards", validator_rewards_paid, i64), ("validator_rewards", validator_rewards_paid, i64),
("active_stake", active_stake, i64), ("active_stake", active_stake, i64),
("pre_capitalization", capitalization, i64), ("pre_capitalization", capitalization, i64),
("post_capitalization", self.capitalization(), i64) ("post_capitalization", self.capitalization(), i64),
("time_us", timing.as_us(), i64)
); );
} }