Show last vote/root behind distance in solana validators
output
This commit is contained in:
committed by
mergify[bot]
parent
2420b280a9
commit
c1829dd00b
@ -343,18 +343,24 @@ impl fmt::Display for CliValidators {
|
|||||||
validator: &CliValidator,
|
validator: &CliValidator,
|
||||||
total_active_stake: u64,
|
total_active_stake: u64,
|
||||||
use_lamports_unit: bool,
|
use_lamports_unit: bool,
|
||||||
|
highest_last_vote: u64,
|
||||||
|
highest_root: u64,
|
||||||
) -> fmt::Result {
|
) -> fmt::Result {
|
||||||
fn non_zero_or_dash(v: u64) -> String {
|
fn non_zero_or_dash(v: u64, max_v: u64) -> String {
|
||||||
if v == 0 {
|
if v == 0 {
|
||||||
"-".into()
|
"- ".into()
|
||||||
|
} else if v == max_v {
|
||||||
|
format!("{:>8} ( 0)", v)
|
||||||
|
} else if v > max_v.saturating_sub(100) {
|
||||||
|
format!("{:>8} ({:>3})", v, -(max_v.saturating_sub(v) as isize))
|
||||||
} else {
|
} else {
|
||||||
format!("{}", v)
|
format!("{:>8} ", v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
writeln!(
|
writeln!(
|
||||||
f,
|
f,
|
||||||
"{} {:<44} {:<44} {:>3}% {:>8} {:>10} {:>13} {:>7} {}",
|
"{} {:<44} {:<44} {:>3}% {:>14} {:>14} {:>13} {:>7} {}",
|
||||||
if validator.delinquent {
|
if validator.delinquent {
|
||||||
WARNING.to_string()
|
WARNING.to_string()
|
||||||
} else {
|
} else {
|
||||||
@ -363,8 +369,8 @@ impl fmt::Display for CliValidators {
|
|||||||
validator.identity_pubkey,
|
validator.identity_pubkey,
|
||||||
validator.vote_account_pubkey,
|
validator.vote_account_pubkey,
|
||||||
validator.commission,
|
validator.commission,
|
||||||
non_zero_or_dash(validator.last_vote),
|
non_zero_or_dash(validator.last_vote, highest_last_vote),
|
||||||
non_zero_or_dash(validator.root_slot),
|
non_zero_or_dash(validator.root_slot, highest_root),
|
||||||
validator.epoch_credits,
|
validator.epoch_credits,
|
||||||
validator.version,
|
validator.version,
|
||||||
if validator.activated_stake > 0 {
|
if validator.activated_stake > 0 {
|
||||||
@ -390,8 +396,8 @@ impl fmt::Display for CliValidators {
|
|||||||
"Identity",
|
"Identity",
|
||||||
"Vote Account",
|
"Vote Account",
|
||||||
"Commission",
|
"Commission",
|
||||||
"Last Vote",
|
"Last Vote ",
|
||||||
"Root Block",
|
"Root Slot ",
|
||||||
"Epoch Credits",
|
"Epoch Credits",
|
||||||
"Version",
|
"Version",
|
||||||
"Active Stake",
|
"Active Stake",
|
||||||
@ -432,6 +438,17 @@ impl fmt::Display for CliValidators {
|
|||||||
sorted_validators.reverse();
|
sorted_validators.reverse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let highest_root = sorted_validators
|
||||||
|
.iter()
|
||||||
|
.map(|v| v.root_slot)
|
||||||
|
.max()
|
||||||
|
.unwrap_or_default();
|
||||||
|
let highest_last_vote = sorted_validators
|
||||||
|
.iter()
|
||||||
|
.map(|v| v.last_vote)
|
||||||
|
.max()
|
||||||
|
.unwrap_or_default();
|
||||||
|
|
||||||
for (i, validator) in sorted_validators.iter().enumerate() {
|
for (i, validator) in sorted_validators.iter().enumerate() {
|
||||||
if padding > 0 {
|
if padding > 0 {
|
||||||
write!(f, "{:padding$}", i + 1, padding = padding)?;
|
write!(f, "{:padding$}", i + 1, padding = padding)?;
|
||||||
@ -441,6 +458,8 @@ impl fmt::Display for CliValidators {
|
|||||||
validator,
|
validator,
|
||||||
self.total_active_stake,
|
self.total_active_stake,
|
||||||
self.use_lamports_unit,
|
self.use_lamports_unit,
|
||||||
|
highest_last_vote,
|
||||||
|
highest_root,
|
||||||
)?;
|
)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user