Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Commit 11b0004

Browse files
committed
Remove Bank events as it's not needed anymore
1 parent b76ed3d commit 11b0004

File tree

4 files changed

+29
-96
lines changed

4 files changed

+29
-96
lines changed

core/benches/banking_stage.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ fn bench_consume_buffered(bencher: &mut Bencher) {
102102
&BankingStageStats::default(),
103103
&recorder,
104104
&QosService::new(1),
105-
&mut LeaderSlotMetricsTracker::new_for_test(),
105+
&mut LeaderSlotMetricsTracker::new(0),
106106
None,
107107
);
108108
});

core/src/banking_stage.rs

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,6 @@ impl BankingStage {
488488
let data_budget = data_budget.clone();
489489
let connection_cache = connection_cache.clone();
490490
let bank_forks = bank_forks.clone();
491-
let banking_tracer = banking_tracer.clone();
492491
Builder::new()
493492
.name(format!("solBanknStgTx{i:02}"))
494493
.spawn(move || {
@@ -505,7 +504,6 @@ impl BankingStage {
505504
connection_cache,
506505
&bank_forks,
507506
unprocessed_transaction_storage,
508-
banking_tracer,
509507
);
510508
})
511509
.unwrap()
@@ -794,7 +792,6 @@ impl BankingStage {
794792
my_pubkey: &Pubkey,
795793
poh_recorder: &RwLock<PohRecorder>,
796794
slot_metrics_tracker: &mut LeaderSlotMetricsTracker,
797-
unprocessed_transaction_count: usize,
798795
) -> (MetricsTrackerAction, BufferedPacketsDecision) {
799796
let (leader_at_slot_offset, bank_start, would_be_leader, would_be_leader_shortly) = {
800797
let poh = poh_recorder.read().unwrap();
@@ -811,7 +808,6 @@ impl BankingStage {
811808
)
812809
};
813810

814-
slot_metrics_tracker.refresh_unprocessed_transaction_count(unprocessed_transaction_count);
815811
(
816812
slot_metrics_tracker.check_leader_slot_boundary(&bank_start),
817813
Self::consume_or_forward_packets(
@@ -846,13 +842,9 @@ impl BankingStage {
846842
if unprocessed_transaction_storage.should_not_process() {
847843
return;
848844
}
849-
let ((metrics_action, decision), make_decision_time) =
850-
measure!(Self::make_consume_or_forward_decision(
851-
my_pubkey,
852-
poh_recorder,
853-
slot_metrics_tracker,
854-
unprocessed_transaction_storage.len(),
855-
));
845+
let ((metrics_action, decision), make_decision_time) = measure!(
846+
Self::make_consume_or_forward_decision(my_pubkey, poh_recorder, slot_metrics_tracker,)
847+
);
856848
slot_metrics_tracker.increment_make_decision_us(make_decision_time.as_us());
857849

858850
match decision {
@@ -923,9 +915,7 @@ impl BankingStage {
923915
// Take metrics action after forwarding packets
924916
slot_metrics_tracker.apply_action(metrics_action);
925917
}
926-
BufferedPacketsDecision::Hold => {
927-
slot_metrics_tracker.apply_action(metrics_action);
928-
}
918+
_ => {}
929919
}
930920
}
931921

@@ -1040,15 +1030,14 @@ impl BankingStage {
10401030
connection_cache: Arc<ConnectionCache>,
10411031
bank_forks: &Arc<RwLock<BankForks>>,
10421032
mut unprocessed_transaction_storage: UnprocessedTransactionStorage,
1043-
banking_tracer: Arc<BankingTracer>,
10441033
) {
10451034
let recorder = poh_recorder.read().unwrap().recorder();
10461035
let socket = UdpSocket::bind("0.0.0.0:0").unwrap();
10471036
let mut banking_stage_stats = BankingStageStats::new(id);
10481037
let mut tracer_packet_stats = TracerPacketStats::new(id);
10491038
let qos_service = QosService::new(id);
10501039

1051-
let mut slot_metrics_tracker = LeaderSlotMetricsTracker::new(id, banking_tracer);
1040+
let mut slot_metrics_tracker = LeaderSlotMetricsTracker::new(id);
10521041
let mut last_metrics_update = Instant::now();
10531042

10541043
loop {
@@ -3710,7 +3699,7 @@ mod tests {
37103699
&BankingStageStats::default(),
37113700
&recorder,
37123701
&QosService::new(1),
3713-
&mut LeaderSlotMetricsTracker::new_for_test(),
3702+
&mut LeaderSlotMetricsTracker::new(0),
37143703
None,
37153704
);
37163705
assert!(buffered_packet_batches.is_empty());
@@ -3768,7 +3757,7 @@ mod tests {
37683757
&BankingStageStats::default(),
37693758
&recorder,
37703759
&QosService::new(1),
3771-
&mut LeaderSlotMetricsTracker::new_for_test(),
3760+
&mut LeaderSlotMetricsTracker::new(0),
37723761
None,
37733762
);
37743763
assert!(buffered_packet_batches.is_empty());
@@ -3830,7 +3819,7 @@ mod tests {
38303819
&BankingStageStats::default(),
38313820
&recorder,
38323821
&QosService::new(1),
3833-
&mut LeaderSlotMetricsTracker::new_for_test(),
3822+
&mut LeaderSlotMetricsTracker::new(0),
38343823
None,
38353824
);
38363825

@@ -3926,7 +3915,7 @@ mod tests {
39263915
&socket,
39273916
true,
39283917
&data_budget,
3929-
&mut LeaderSlotMetricsTracker::new_for_test(),
3918+
&mut LeaderSlotMetricsTracker::new(0),
39303919
&stats,
39313920
&connection_cache,
39323921
&mut TracerPacketStats::new(0),
@@ -4026,7 +4015,7 @@ mod tests {
40264015
&socket,
40274016
hold,
40284017
&DataBudget::default(),
4029-
&mut LeaderSlotMetricsTracker::new_for_test(),
4018+
&mut LeaderSlotMetricsTracker::new(0),
40304019
&stats,
40314020
&connection_cache,
40324021
&mut TracerPacketStats::new(0),

core/src/banking_trace.rs

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ pub struct TimedTracedEvent(std::time::SystemTime, TracedEvent);
7171
#[derive(Serialize, Deserialize, Debug)]
7272
enum TracedEvent {
7373
PacketBatch(ChannelLabel, BankingPacketBatch),
74-
Bank(Slot, u32, BankStatus, usize),
7574
BlockAndBankHash(Slot, Hash, Hash),
7675
}
7776

@@ -251,19 +250,6 @@ impl BankingTracer {
251250
})
252251
}
253252

254-
fn bank_event(
255-
&self,
256-
slot: Slot,
257-
id: u32,
258-
status: BankStatus,
259-
unprocessed_transaction_count: usize,
260-
) {
261-
self.trace_event(TimedTracedEvent(
262-
SystemTime::now(),
263-
TracedEvent::Bank(slot, id, status, unprocessed_transaction_count),
264-
))
265-
}
266-
267253
pub fn hash_event(&self, slot: Slot, blockhash: Hash, bank_hash: Hash) {
268254
self.trace_event(TimedTracedEvent(
269255
SystemTime::now(),
@@ -281,14 +267,6 @@ impl BankingTracer {
281267
}
282268
}
283269

284-
pub fn bank_start(&self, slot: Slot, id: u32, unprocessed_transaction_count: usize) {
285-
self.bank_event(slot, id, BankStatus::Started, unprocessed_transaction_count);
286-
}
287-
288-
pub fn bank_end(&self, slot: Slot, id: u32, unprocessed_transaction_count: usize) {
289-
self.bank_event(slot, id, BankStatus::Ended, unprocessed_transaction_count);
290-
}
291-
292270
pub fn channel_for_test() -> (TracedSender, Receiver<BankingPacketBatch>) {
293271
Self::channel(ChannelLabel::Dummy, None)
294272
}
@@ -490,7 +468,9 @@ mod tests {
490468
tracer_thread.unwrap().join().unwrap().unwrap();
491469

492470
// shouldn't panic
493-
tracer.bank_end(1, 2, 3);
471+
let blockhash = Hash::from_str("B1ockhash1111111111111111111111111111111111").unwrap();
472+
let bank_hash = Hash::from_str("BankHash11111111111111111111111111111111111").unwrap();
473+
tracer.hash_event(4, blockhash, bank_hash);
494474

495475
drop(tracer);
496476

@@ -528,7 +508,6 @@ mod tests {
528508
non_vote_sender
529509
.send(for_test::sample_packet_batch())
530510
.unwrap();
531-
tracer.bank_start(1, 2, 3);
532511
let blockhash = Hash::from_str("B1ockhash1111111111111111111111111111111111").unwrap();
533512
let bank_hash = Hash::from_str("BankHash11111111111111111111111111111111111").unwrap();
534513
tracer.hash_event(4, blockhash, bank_hash);
@@ -549,14 +528,6 @@ mod tests {
549528
))
550529
);
551530
i += 1;
552-
assert_matches!(
553-
results[i],
554-
Ok(TimedTracedEvent(
555-
_,
556-
TracedEvent::Bank(1, 2, BankStatus::Started, 3)
557-
))
558-
);
559-
i += 1;
560531
assert_matches!(
561532
results[i],
562533
Ok(TimedTracedEvent(

core/src/leader_slot_banking_stage_metrics.rs

Lines changed: 15 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
use {
22
crate::{
3-
banking_trace::BankingTracer, leader_slot_banking_stage_timing_metrics::*,
3+
leader_slot_banking_stage_timing_metrics::*,
44
unprocessed_transaction_storage::InsertPacketBatchSummary,
55
},
66
solana_poh::poh_recorder::BankStart,
77
solana_runtime::transaction_error_metrics::*,
88
solana_sdk::{clock::Slot, saturating_add_assign},
9-
std::{sync::Arc, time::Instant},
9+
std::time::Instant,
1010
};
1111

1212
/// A summary of what happened to transactions passed to the execution pipeline.
@@ -358,45 +358,16 @@ pub struct LeaderSlotMetricsTracker {
358358
// otherwise `None`
359359
leader_slot_metrics: Option<LeaderSlotMetrics>,
360360
id: u32,
361-
banking_tracer: Arc<BankingTracer>,
362-
unprocessed_transaction_count: usize,
363361
}
364362

365363
impl LeaderSlotMetricsTracker {
366-
pub fn new(id: u32, banking_tracer: Arc<BankingTracer>) -> Self {
364+
pub fn new(id: u32) -> Self {
367365
Self {
368366
leader_slot_metrics: None,
369367
id,
370-
banking_tracer,
371-
unprocessed_transaction_count: 0,
372368
}
373369
}
374370

375-
pub fn refresh_unprocessed_transaction_count(&mut self, batch_count: usize) {
376-
self.unprocessed_transaction_count = batch_count;
377-
}
378-
379-
pub fn new_for_test() -> Self {
380-
Self::new(0, BankingTracer::new_disabled())
381-
}
382-
383-
fn create_new_slot_metrics(&self, bank_start: &BankStart) -> Option<LeaderSlotMetrics> {
384-
let metrics = LeaderSlotMetrics::new(
385-
self.id,
386-
bank_start.working_bank.slot(),
387-
&bank_start.bank_creation_time,
388-
);
389-
self.banking_tracer
390-
.bank_start(metrics.slot, self.id, self.unprocessed_transaction_count);
391-
392-
Some(metrics)
393-
}
394-
395-
pub fn trace_bank_end(&self, metrics_slot: Slot) {
396-
self.banking_tracer
397-
.bank_end(metrics_slot, self.id, self.unprocessed_transaction_count);
398-
}
399-
400371
// Check leader slot, return MetricsTrackerAction to be applied by apply_action()
401372
pub(crate) fn check_leader_slot_boundary(
402373
&mut self,
@@ -406,27 +377,28 @@ impl LeaderSlotMetricsTracker {
406377
(None, None) => MetricsTrackerAction::Noop,
407378

408379
(Some(leader_slot_metrics), None) => {
409-
let slot = leader_slot_metrics.slot;
410380
leader_slot_metrics.mark_slot_end_detected();
411-
self.trace_bank_end(slot);
412-
413381
MetricsTrackerAction::ReportAndResetTracker
414382
}
415383

416384
// Our leader slot has begain, time to create a new slot tracker
417385
(None, Some(bank_start)) => {
418-
MetricsTrackerAction::NewTracker(self.create_new_slot_metrics(bank_start))
386+
MetricsTrackerAction::NewTracker(Some(LeaderSlotMetrics::new(
387+
self.id,
388+
bank_start.working_bank.slot(),
389+
&bank_start.bank_creation_time,
390+
)))
419391
}
420392

421393
(Some(leader_slot_metrics), Some(bank_start)) => {
422394
if leader_slot_metrics.slot != bank_start.working_bank.slot() {
423395
// Last slot has ended, new slot has began
424-
let slot = leader_slot_metrics.slot;
425396
leader_slot_metrics.mark_slot_end_detected();
426-
self.trace_bank_end(slot);
427-
MetricsTrackerAction::ReportAndNewTracker(
428-
self.create_new_slot_metrics(bank_start),
429-
)
397+
MetricsTrackerAction::ReportAndNewTracker(Some(LeaderSlotMetrics::new(
398+
self.id,
399+
bank_start.working_bank.slot(),
400+
&bank_start.bank_creation_time,
401+
)))
430402
} else {
431403
MetricsTrackerAction::Noop
432404
}
@@ -905,7 +877,8 @@ mod tests {
905877
bank_creation_time: Arc::new(Instant::now()),
906878
};
907879

908-
let leader_slot_metrics_tracker = LeaderSlotMetricsTracker::new_for_test();
880+
let banking_stage_thread_id = 0;
881+
let leader_slot_metrics_tracker = LeaderSlotMetricsTracker::new(banking_stage_thread_id);
909882

910883
TestSlotBoundaryComponents {
911884
first_bank,

0 commit comments

Comments
 (0)