From 810ca36eae99768f11cee63be426a9b3024a0106 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 28 Dec 2021 07:03:13 +0000 Subject: [PATCH] skip reporting all-zero stats (#22054) (cherry picked from commit 9c5d82557a965cf23831a3fb2e3b8986d379ce04) Co-authored-by: Tao Zhu --- core/src/banking_stage.rs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/core/src/banking_stage.rs b/core/src/banking_stage.rs index c353dd19e0..2d51a1244a 100644 --- a/core/src/banking_stage.rs +++ b/core/src/banking_stage.rs @@ -119,7 +119,42 @@ impl BankingStageStats { } } + fn is_empty(&self) -> bool { + 0 == self.process_packets_count.load(Ordering::Relaxed) as u64 + + self.new_tx_count.load(Ordering::Relaxed) as u64 + + self.dropped_packet_batches_count.load(Ordering::Relaxed) as u64 + + self.dropped_packets_count.load(Ordering::Relaxed) as u64 + + self + .dropped_duplicated_packets_count + .load(Ordering::Relaxed) as u64 + + self.newly_buffered_packets_count.load(Ordering::Relaxed) as u64 + + self.current_buffered_packets_count.load(Ordering::Relaxed) as u64 + + self + .current_buffered_packet_batches_count + .load(Ordering::Relaxed) as u64 + + self.rebuffered_packets_count.load(Ordering::Relaxed) as u64 + + self.consumed_buffered_packets_count.load(Ordering::Relaxed) as u64 + + self + .consume_buffered_packets_elapsed + .load(Ordering::Relaxed) + + self.process_packets_elapsed.load(Ordering::Relaxed) + + self + .handle_retryable_packets_elapsed + .load(Ordering::Relaxed) + + self.filter_pending_packets_elapsed.load(Ordering::Relaxed) + + self.packet_duplicate_check_elapsed.load(Ordering::Relaxed) + + self.packet_conversion_elapsed.load(Ordering::Relaxed) + + self + .unprocessed_packet_conversion_elapsed + .load(Ordering::Relaxed) + + self.transaction_processing_elapsed.load(Ordering::Relaxed) + } + fn report(&self, report_interval_ms: u64) { + // skip repoting metrics if stats is empty + if self.is_empty() { + return; + } if self.last_report.should_update(report_interval_ms) { datapoint_info!( "banking_stage-loop-stats",