Separate sigverify metrics for each verifier (#24744)

This commit is contained in:
sakridge 2022-04-28 01:16:17 -07:00 committed by GitHub
parent b6a18e0e87
commit 5a430c15e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 8 deletions

View File

@ -143,7 +143,7 @@ fn bench_sigverify_stage(bencher: &mut Bencher) {
let (packet_s, packet_r) = unbounded();
let (verified_s, verified_r) = unbounded();
let verifier = TransactionSigVerifier::default();
let stage = SigVerifyStage::new(packet_r, verified_s, verifier);
let stage = SigVerifyStage::new(packet_r, verified_s, verifier, "bench");
let use_same_tx = true;
bencher.iter(move || {

View File

@ -66,9 +66,9 @@ struct SigVerifierStats {
}
impl SigVerifierStats {
fn report(&self) {
fn report(&self, name: &'static str) {
datapoint_info!(
"sigverify_stage-total_verify_time",
name,
(
"recv_batches_us_90pct",
self.recv_batches_us_hist.percentile(90.0).unwrap_or(0),
@ -195,8 +195,9 @@ impl SigVerifyStage {
packet_receiver: find_packet_sender_stake_stage::FindPacketSenderStakeReceiver,
verified_sender: Sender<Vec<PacketBatch>>,
verifier: T,
name: &'static str,
) -> Self {
let thread_hdl = Self::verifier_services(packet_receiver, verified_sender, verifier);
let thread_hdl = Self::verifier_services(packet_receiver, verified_sender, verifier, name);
Self { thread_hdl }
}
@ -315,6 +316,7 @@ impl SigVerifyStage {
packet_receiver: find_packet_sender_stake_stage::FindPacketSenderStakeReceiver,
verified_sender: Sender<Vec<PacketBatch>>,
verifier: &T,
name: &'static str,
) -> JoinHandle<()> {
let verifier = verifier.clone();
let mut stats = SigVerifierStats::default();
@ -348,7 +350,7 @@ impl SigVerifyStage {
}
}
if last_print.elapsed().as_secs() > 2 {
stats.report();
stats.report(name);
stats = SigVerifierStats::default();
last_print = Instant::now();
}
@ -361,8 +363,9 @@ impl SigVerifyStage {
packet_receiver: find_packet_sender_stake_stage::FindPacketSenderStakeReceiver,
verified_sender: Sender<Vec<PacketBatch>>,
verifier: T,
name: &'static str,
) -> JoinHandle<()> {
Self::verifier_service(packet_receiver, verified_sender, &verifier)
Self::verifier_service(packet_receiver, verified_sender, &verifier, name)
}
pub fn join(self) -> thread::Result<()> {
@ -430,7 +433,7 @@ mod tests {
let (packet_s, packet_r) = unbounded();
let (verified_s, verified_r) = unbounded();
let verifier = TransactionSigVerifier::default();
let stage = SigVerifyStage::new(packet_r, verified_s, verifier);
let stage = SigVerifyStage::new(packet_r, verified_s, verifier, "test");
let use_same_tx = true;
let now = Instant::now();

View File

@ -158,7 +158,12 @@ impl Tpu {
let sigverify_stage = {
let verifier = TransactionSigVerifier::default();
SigVerifyStage::new(find_packet_sender_stake_receiver, verified_sender, verifier)
SigVerifyStage::new(
find_packet_sender_stake_receiver,
verified_sender,
verifier,
"tpu-verifier",
)
};
let (verified_tpu_vote_packets_sender, verified_tpu_vote_packets_receiver) = unbounded();
@ -169,6 +174,7 @@ impl Tpu {
vote_find_packet_sender_stake_receiver,
verified_tpu_vote_packets_sender,
verifier,
"tpu-vote-verifier",
)
};

View File

@ -162,6 +162,7 @@ impl Tvu {
fetch_receiver,
verified_sender,
ShredSigVerifier::new(bank_forks.clone(), leader_schedule_cache.clone()),
"shred-verifier",
);
let cluster_slots = Arc::new(ClusterSlots::default());