Track discard time of excess packets in sigverify (#22554)
* discard time histogram * closer to the if * update
This commit is contained in:
parent
8dc6f9f589
commit
e616a7ebfc
|
@ -48,6 +48,7 @@ pub struct DisabledSigVerifier {}
|
|||
struct SigVerifierStats {
|
||||
recv_batches_us_hist: histogram::Histogram, // time to call recv_batch
|
||||
verify_batches_pp_us_hist: histogram::Histogram, // per-packet time to call verify_batch
|
||||
discard_packets_pp_us_hist: histogram::Histogram, // per-packet time to call verify_batch
|
||||
batches_hist: histogram::Histogram, // number of packet batches per verify call
|
||||
packets_hist: histogram::Histogram, // number of packets per verify call
|
||||
total_batches: usize,
|
||||
|
@ -98,6 +99,28 @@ impl SigVerifierStats {
|
|||
self.verify_batches_pp_us_hist.mean().unwrap_or(0),
|
||||
i64
|
||||
),
|
||||
(
|
||||
"discard_packets_pp_us_90pct",
|
||||
self.discard_packets_pp_us_hist
|
||||
.percentile(90.0)
|
||||
.unwrap_or(0),
|
||||
i64
|
||||
),
|
||||
(
|
||||
"discard_packets_pp_us_min",
|
||||
self.discard_packets_pp_us_hist.minimum().unwrap_or(0),
|
||||
i64
|
||||
),
|
||||
(
|
||||
"discard_packets_pp_us_max",
|
||||
self.discard_packets_pp_us_hist.maximum().unwrap_or(0),
|
||||
i64
|
||||
),
|
||||
(
|
||||
"discard_packets_pp_us_mean",
|
||||
self.discard_packets_pp_us_hist.mean().unwrap_or(0),
|
||||
i64
|
||||
),
|
||||
(
|
||||
"batches_90pct",
|
||||
self.batches_hist.percentile(90.0).unwrap_or(0),
|
||||
|
@ -183,10 +206,11 @@ impl SigVerifyStage {
|
|||
timing::timestamp(),
|
||||
num_packets,
|
||||
);
|
||||
let mut discard_time = Measure::start("sigverify_discard_time");
|
||||
if num_packets > MAX_SIGVERIFY_BATCH {
|
||||
Self::discard_excess_packets(&mut batches, MAX_SIGVERIFY_BATCH);
|
||||
}
|
||||
|
||||
discard_time.stop();
|
||||
let mut verify_batch_time = Measure::start("sigverify_batch_time");
|
||||
sendr.send(verifier.verify_batches(batches))?;
|
||||
verify_batch_time.stop();
|
||||
|
@ -208,6 +232,10 @@ impl SigVerifyStage {
|
|||
.verify_batches_pp_us_hist
|
||||
.increment(verify_batch_time.as_us() / (num_packets as u64))
|
||||
.unwrap();
|
||||
stats
|
||||
.discard_packets_pp_us_hist
|
||||
.increment(discard_time.as_us() / (num_packets as u64))
|
||||
.unwrap();
|
||||
stats.batches_hist.increment(batches_len as u64).unwrap();
|
||||
stats.packets_hist.increment(num_packets as u64).unwrap();
|
||||
stats.total_batches += batches_len;
|
||||
|
|
Loading…
Reference in New Issue