Skip to content

Commit

Permalink
banking stage: actually aggregate tracer packet stats (solana-labs#27118
Browse files Browse the repository at this point in the history
)

* aggregated_tracer_packet_stats_option was alwasys None

* Actually accumulate tracer packet stats
  • Loading branch information
apfitzge authored Aug 19, 2022
1 parent 1b441f7 commit eb06bb6
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions core/src/banking_stage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2000,26 +2000,26 @@ impl BankingStage {
packet_count_upperbound: usize,
) -> Result<(Vec<PacketBatch>, Option<SigverifyTracerPacketStats>), RecvTimeoutError> {
let start = Instant::now();
let mut aggregated_tracer_packet_stats_option: Option<SigverifyTracerPacketStats> = None;
let (mut packet_batches, new_tracer_packet_stats_option) =
let (mut packet_batches, mut aggregated_tracer_packet_stats_option) =
verified_receiver.recv_timeout(recv_timeout)?;

if let Some(new_tracer_packet_stats) = &new_tracer_packet_stats_option {
if let Some(aggregated_tracer_packet_stats) = &mut aggregated_tracer_packet_stats_option
{
aggregated_tracer_packet_stats.aggregate(new_tracer_packet_stats);
} else {
aggregated_tracer_packet_stats_option = new_tracer_packet_stats_option;
}
}

let mut num_packets_received: usize = packet_batches.iter().map(|batch| batch.len()).sum();
while let Ok((packet_batch, _tracer_packet_stats_option)) = verified_receiver.try_recv() {
while let Ok((packet_batch, tracer_packet_stats_option)) = verified_receiver.try_recv() {
trace!("got more packet batches in banking stage");
let (packets_received, packet_count_overflowed) = num_packets_received
.overflowing_add(packet_batch.iter().map(|batch| batch.len()).sum());
packet_batches.extend(packet_batch);

if let Some(tracer_packet_stats) = &tracer_packet_stats_option {
if let Some(aggregated_tracer_packet_stats) =
&mut aggregated_tracer_packet_stats_option
{
aggregated_tracer_packet_stats.aggregate(tracer_packet_stats);
} else {
aggregated_tracer_packet_stats_option = tracer_packet_stats_option;
}
}

// Spend any leftover receive time budget to greedily receive more packet batches,
// until the upperbound of the packet count is reached.
if start.elapsed() >= recv_timeout
Expand Down

0 comments on commit eb06bb6

Please sign in to comment.