Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simulate leader blocks wip #2325

Draft
wants to merge 3,541 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3541 commits
Select commit Hold shift + click to select a range
30d18b6
save
ryoqun Nov 2, 2024
6c1a297
save
ryoqun Nov 2, 2024
ea64cb7
save
ryoqun Nov 2, 2024
b91c2fd
save
ryoqun Nov 2, 2024
05a7dcc
save
ryoqun Nov 2, 2024
9d5fc86
save
ryoqun Nov 2, 2024
ccd7285
save
ryoqun Nov 2, 2024
ce90565
save
ryoqun Nov 2, 2024
41ba1e0
save
ryoqun Nov 2, 2024
43baa95
save
ryoqun Nov 2, 2024
258ac15
save
ryoqun Nov 2, 2024
60a053d
save
ryoqun Nov 2, 2024
d41eb8d
save
ryoqun Nov 2, 2024
f95a54e
save
ryoqun Nov 2, 2024
f5ee32b
save
ryoqun Nov 2, 2024
879c18d
save
ryoqun Nov 2, 2024
0e6d718
save
ryoqun Nov 2, 2024
14d95ca
save
ryoqun Nov 2, 2024
d6f96b6
save
ryoqun Nov 2, 2024
67b81d5
save
ryoqun Nov 2, 2024
3f356fc
save
ryoqun Nov 2, 2024
b439644
save
ryoqun Nov 2, 2024
ba697fa
save
ryoqun Nov 2, 2024
ff5aab9
save
ryoqun Nov 2, 2024
d763b31
save
ryoqun Nov 2, 2024
9a8e5bf
save
ryoqun Nov 2, 2024
0871c67
save
ryoqun Nov 2, 2024
49d3010
save
ryoqun Nov 2, 2024
d22694d
save
ryoqun Nov 2, 2024
a636885
save
ryoqun Nov 2, 2024
dfd27e9
save
ryoqun Nov 2, 2024
a348a3c
save
ryoqun Nov 2, 2024
bc83c6a
save
ryoqun Nov 2, 2024
47ec2fb
save
ryoqun Nov 2, 2024
e402c4b
save
ryoqun Nov 2, 2024
22df36c
save
ryoqun Nov 2, 2024
c95cfcc
save
ryoqun Nov 2, 2024
810a362
save
ryoqun Nov 2, 2024
669e571
save
ryoqun Nov 2, 2024
b415c19
save
ryoqun Nov 2, 2024
846e858
save
ryoqun Nov 2, 2024
438bd76
save
ryoqun Nov 2, 2024
9ca460d
save
ryoqun Nov 2, 2024
1e7ca0a
save
ryoqun Nov 2, 2024
87cee55
save
ryoqun Nov 2, 2024
5e99a92
save
ryoqun Nov 2, 2024
a6d2d88
save
ryoqun Nov 2, 2024
3aa5eea
save
ryoqun Nov 2, 2024
28fbecd
save
ryoqun Nov 2, 2024
83ab63d
save
ryoqun Nov 2, 2024
9eb1262
save
ryoqun Nov 2, 2024
8a2ecdb
save
ryoqun Nov 2, 2024
2836139
save
ryoqun Nov 2, 2024
450608f
save
ryoqun Nov 2, 2024
fa134e0
save
ryoqun Nov 2, 2024
d985ddd
save
ryoqun Nov 2, 2024
66f7a8d
save
ryoqun Nov 2, 2024
1d115ce
save
ryoqun Nov 2, 2024
fbd3b8a
save
ryoqun Nov 2, 2024
30b8463
save
ryoqun Nov 2, 2024
e8cd7a4
save
ryoqun Nov 2, 2024
6cda48b
save
ryoqun Nov 2, 2024
f2d9bf5
save
ryoqun Nov 2, 2024
49e4cc4
save
ryoqun Nov 2, 2024
d751cf2
save
ryoqun Nov 2, 2024
22c331c
save
ryoqun Nov 2, 2024
5ab4415
save
ryoqun Nov 2, 2024
60614ad
save
ryoqun Nov 2, 2024
1b3c7c2
save
ryoqun Nov 2, 2024
f070463
save
ryoqun Nov 2, 2024
68c5e94
save
ryoqun Nov 2, 2024
70942f4
save
ryoqun Nov 2, 2024
06a9e8a
save
ryoqun Nov 2, 2024
9147675
save
ryoqun Nov 2, 2024
73eeb29
save
ryoqun Nov 2, 2024
7775be0
save
ryoqun Nov 2, 2024
52e1c79
save
ryoqun Nov 2, 2024
1787ab3
save
ryoqun Nov 2, 2024
b2e3e62
save
ryoqun Nov 2, 2024
c5d5fb2
save
ryoqun Nov 2, 2024
db8360e
save
ryoqun Nov 2, 2024
674c069
save
ryoqun Nov 2, 2024
376d009
save
ryoqun Nov 2, 2024
6c03bce
save
ryoqun Nov 2, 2024
1c6f9e8
save
ryoqun Nov 2, 2024
3e7fbf2
save
ryoqun Nov 2, 2024
8df95f1
save
ryoqun Nov 2, 2024
f41ea2e
save
ryoqun Nov 2, 2024
652a501
save
ryoqun Nov 2, 2024
38be3c5
save
ryoqun Nov 2, 2024
16cf607
save
ryoqun Nov 2, 2024
91af37e
save
ryoqun Nov 2, 2024
db82350
save
ryoqun Nov 2, 2024
8b07342
save
ryoqun Nov 2, 2024
0216d27
save
ryoqun Nov 2, 2024
760606a
save
ryoqun Nov 2, 2024
833cf6d
save
ryoqun Nov 2, 2024
a87522d
save
ryoqun Nov 2, 2024
6d963c7
save
ryoqun Nov 2, 2024
7a9b1a9
save
ryoqun Nov 2, 2024
01bebd6
save
ryoqun Nov 2, 2024
36c2029
save
ryoqun Nov 2, 2024
8983f6a
save
ryoqun Nov 2, 2024
40c85c4
save
ryoqun Nov 2, 2024
eb7bda3
save
ryoqun Nov 2, 2024
7009176
save
ryoqun Nov 2, 2024
fcb7650
save
ryoqun Nov 2, 2024
6552f61
save
ryoqun Nov 2, 2024
4be67d9
save
ryoqun Nov 2, 2024
b2dd720
save
ryoqun Nov 2, 2024
5eb5148
save
ryoqun Nov 3, 2024
02170e7
save
ryoqun Nov 3, 2024
e38c821
save
ryoqun Nov 3, 2024
00f8cde
save
ryoqun Nov 3, 2024
e45d355
save
ryoqun Nov 3, 2024
370d4bf
save
ryoqun Nov 3, 2024
2ba8493
save
ryoqun Nov 3, 2024
42f9d40
save
ryoqun Nov 3, 2024
6209f66
save
ryoqun Nov 3, 2024
705b6e8
save
ryoqun Nov 3, 2024
64e2ee7
save
ryoqun Nov 3, 2024
b44c230
save
ryoqun Nov 3, 2024
fc91d0d
save
ryoqun Nov 3, 2024
9ad1142
save
ryoqun Nov 3, 2024
73c08e3
save
ryoqun Nov 3, 2024
73be7eb
save
ryoqun Nov 3, 2024
2492acd
save
ryoqun Nov 3, 2024
4db261a
save
ryoqun Nov 3, 2024
aa72da6
save
ryoqun Nov 3, 2024
e6aab96
save
ryoqun Nov 3, 2024
aa6bc21
save
ryoqun Nov 3, 2024
0f144c2
save
ryoqun Nov 3, 2024
7f06a56
save
ryoqun Nov 3, 2024
634d021
save
ryoqun Nov 3, 2024
01a30d8
save
ryoqun Nov 3, 2024
a9ec2c0
save
ryoqun Nov 3, 2024
395dff5
save
ryoqun Nov 3, 2024
37e5db5
save
ryoqun Nov 3, 2024
ad4161c
save
ryoqun Nov 3, 2024
523ba3c
save
ryoqun Nov 3, 2024
86fd480
save
ryoqun Nov 3, 2024
8a23d37
save
ryoqun Nov 3, 2024
e8cb758
save
ryoqun Nov 3, 2024
16beede
save
ryoqun Nov 3, 2024
6784b1a
save
ryoqun Nov 3, 2024
10657f3
save
ryoqun Nov 3, 2024
27a4c01
save
ryoqun Nov 3, 2024
85b9c55
save
ryoqun Nov 3, 2024
43fc2b3
save
ryoqun Nov 3, 2024
da03074
save
ryoqun Nov 3, 2024
76600ec
save
ryoqun Nov 3, 2024
95204c6
save
ryoqun Nov 3, 2024
f4742ed
save
ryoqun Nov 3, 2024
7fb1478
save
ryoqun Nov 3, 2024
ae879e0
save
ryoqun Nov 3, 2024
0faebf9
save
ryoqun Nov 3, 2024
6724e42
save
ryoqun Nov 3, 2024
16929ea
save
ryoqun Nov 3, 2024
2152013
save
ryoqun Nov 3, 2024
ad7fbb5
save
ryoqun Nov 3, 2024
e72c289
save
ryoqun Nov 3, 2024
e8e69a7
save
ryoqun Nov 3, 2024
7a1b2df
save
ryoqun Nov 3, 2024
8920df1
save
ryoqun Nov 3, 2024
96dbeb9
save
ryoqun Nov 3, 2024
eacf495
save
ryoqun Nov 3, 2024
bf6b1f0
save
ryoqun Nov 3, 2024
55abd52
save
ryoqun Nov 3, 2024
3f6eab1
save
ryoqun Nov 3, 2024
668afce
save
ryoqun Nov 3, 2024
b5ce8bf
save
ryoqun Nov 3, 2024
255e342
save
ryoqun Nov 3, 2024
16947b5
save
ryoqun Nov 6, 2024
565877d
save
ryoqun Nov 6, 2024
fa21853
save
ryoqun Nov 6, 2024
575cd3a
save
ryoqun Nov 6, 2024
2c7ba00
save
ryoqun Nov 6, 2024
b468ac4
save
ryoqun Nov 6, 2024
4ce2e22
save
ryoqun Nov 6, 2024
181d2c9
save
ryoqun Nov 6, 2024
c12f9ad
save
ryoqun Nov 6, 2024
8c94fc0
save
ryoqun Nov 6, 2024
76e82ff
save
ryoqun Nov 6, 2024
18d708c
save
ryoqun Nov 6, 2024
057e24f
save
ryoqun Nov 6, 2024
b7e7f85
save
ryoqun Nov 7, 2024
7b47be1
save
ryoqun Nov 7, 2024
c556b18
save
ryoqun Nov 7, 2024
8b75307
save
ryoqun Nov 7, 2024
96093ee
save
ryoqun Nov 7, 2024
78c6a52
save
ryoqun Nov 7, 2024
ff52bca
save
ryoqun Nov 7, 2024
09a771a
save
ryoqun Nov 8, 2024
8b9a8d4
Disable scanning when pausing
ryoqun Nov 9, 2024
b9dddd0
handle fork switch
ryoqun Nov 9, 2024
79259bb
save
ryoqun Nov 11, 2024
aac0b2d
save
ryoqun Nov 11, 2024
65e8999
save
ryoqun Nov 11, 2024
55dd51c
save
ryoqun Nov 11, 2024
ee82dbb
save
ryoqun Nov 11, 2024
c87f306
save
ryoqun Nov 11, 2024
71eef2c
save
ryoqun Nov 11, 2024
64ad807
save
ryoqun Nov 11, 2024
eee1e7a
save
ryoqun Nov 11, 2024
c459ee5
save
ryoqun Nov 11, 2024
224e583
save
ryoqun Nov 11, 2024
65a6484
save
ryoqun Nov 11, 2024
a4d5015
save
ryoqun Nov 11, 2024
24c6bf5
save
ryoqun Nov 11, 2024
7e29ada
save
ryoqun Nov 11, 2024
831d9a3
save
ryoqun Nov 11, 2024
43f92c3
save
ryoqun Nov 11, 2024
94438d7
save
ryoqun Nov 11, 2024
9ddf82f
save
ryoqun Nov 11, 2024
e39f615
save
ryoqun Nov 11, 2024
e9b3abb
save
ryoqun Nov 11, 2024
7b1f6df
save
ryoqun Nov 11, 2024
d101426
save
ryoqun Nov 11, 2024
20c465e
save
ryoqun Nov 11, 2024
50f0d3e
save
ryoqun Nov 11, 2024
f9eeeda
save
ryoqun Nov 11, 2024
d6c31e1
save
ryoqun Nov 11, 2024
f1d57dc
save
ryoqun Nov 11, 2024
1db7ad4
save
ryoqun Nov 11, 2024
893333b
save
ryoqun Nov 11, 2024
72497bf
save
ryoqun Nov 11, 2024
e460969
save
ryoqun Nov 11, 2024
91d4f55
save
ryoqun Nov 11, 2024
18fd7e7
save
ryoqun Nov 11, 2024
58fb7e1
save
ryoqun Nov 11, 2024
f21734d
save
ryoqun Nov 11, 2024
a6fd394
save
ryoqun Nov 11, 2024
ee5f9ba
save
ryoqun Nov 11, 2024
551dcc3
save
ryoqun Nov 11, 2024
dccd30d
save
ryoqun Nov 11, 2024
92d1860
save
ryoqun Nov 11, 2024
e76c91e
save
ryoqun Nov 11, 2024
97cbe79
save
ryoqun Nov 11, 2024
61b3868
save
ryoqun Nov 11, 2024
26082d9
save
ryoqun Nov 11, 2024
8f7deed
save
ryoqun Nov 11, 2024
aab51fa
save
ryoqun Nov 11, 2024
a8ca6e8
save
ryoqun Nov 11, 2024
8c1a7d6
save
ryoqun Nov 11, 2024
61c1d35
save
ryoqun Nov 11, 2024
a0114a1
save
ryoqun Nov 11, 2024
da1ee20
save
ryoqun Nov 11, 2024
27b4116
save
ryoqun Nov 11, 2024
f40fd11
save
ryoqun Nov 11, 2024
7588c89
save
ryoqun Nov 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
332 changes: 251 additions & 81 deletions Cargo.lock

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -271,9 +271,6 @@ index_list = "0.2.13"
indexmap = "2.5.0"
indicatif = "0.17.8"
itertools = "0.12.1"
jemallocator = { package = "tikv-jemallocator", version = "0.4.1", features = [
"unprefixed_malloc_on_supported_platforms",
] }
js-sys = "0.3.70"
json5 = "0.4.1"
jsonrpc-core = "18.0.0"
Expand All @@ -297,9 +294,11 @@ lz4 = "1.26.0"
memmap2 = "0.5.10"
memoffset = "0.9"
merlin = "3"
mimalloc = "0.1.43"
min-max-heap = "1.3.0"
mockall = "0.11.4"
modular-bitfield = "0.11.2"
more-asserts = "0.3.1"
nix = "0.29.0"
num-bigint = "0.4.6"
num-derive = "0.4"
Expand Down
2 changes: 2 additions & 0 deletions banking-bench/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ edition = { workspace = true }
clap = { version = "3.1.8", features = ["derive", "cargo"] }
crossbeam-channel = { workspace = true }
log = { workspace = true }
mimalloc = "0.1.42"
rand = { workspace = true }
rayon = { workspace = true }
solana-client = { workspace = true }
Expand All @@ -26,6 +27,7 @@ solana-runtime = { workspace = true, features = ["dev-context-only-utils"] }
solana-sdk = { workspace = true }
solana-streamer = { workspace = true }
solana-tpu-client = { workspace = true }
solana-unified-scheduler-pool = { workspace = true }
solana-version = { workspace = true }

[features]
Expand Down
95 changes: 77 additions & 18 deletions banking-bench/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,25 @@ use {
hash::Hash,
message::Message,
pubkey::{self, Pubkey},
scheduling::SchedulingMode,
signature::{Keypair, Signature, Signer},
system_instruction, system_transaction,
timing::timestamp,
transaction::Transaction,
},
solana_streamer::socket::SocketAddrSpace,
solana_tpu_client::tpu_client::DEFAULT_TPU_CONNECTION_POOL_SIZE,
solana_unified_scheduler_pool::DefaultSchedulerPool,
std::{
sync::{atomic::Ordering, Arc, RwLock},
thread::sleep,
time::{Duration, Instant},
},
};
use solana_unified_scheduler_pool::SupportedSchedulingMode;

#[global_allocator]
static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;

// transfer transaction cost = 1 * SIGNATURE_COST +
// 2 * WRITE_LOCK_UNITS +
Expand All @@ -58,10 +64,12 @@ fn check_txs(
let now = Instant::now();
let mut no_bank = false;
loop {
if let Ok((_bank, (entry, _tick_height))) = receiver.recv_timeout(Duration::from_millis(10))
{
if let Ok((_bank, (entry, _tick_height))) = receiver.try_recv() {
total += entry.transactions.len();
} else {
sleep(Duration::from_millis(10));
}

if total >= ref_tx_count {
break;
}
Expand Down Expand Up @@ -347,7 +355,7 @@ fn main() {
let (replay_vote_sender, _replay_vote_receiver) = unbounded();
let bank0 = Bank::new_for_benches(&genesis_config);
let bank_forks = BankForks::new_rw_arc(bank0);
let mut bank = bank_forks.read().unwrap().working_bank();
let mut bank = bank_forks.read().unwrap().working_bank_with_scheduler().clone_with_scheduler();

// set cost tracker limits to MAX so it will not filter out TXs
bank.write_cost_tracker()
Expand Down Expand Up @@ -441,8 +449,16 @@ fn main() {
)))
.unwrap();
let (non_vote_sender, non_vote_receiver) = banking_tracer.create_channel_non_vote();
let (tpu_vote_sender, tpu_vote_receiver) = banking_tracer.create_channel_tpu_vote();
let (gossip_vote_sender, gossip_vote_receiver) = banking_tracer.create_channel_gossip_vote();
let (tpu_vote_sender, tpu_vote_receiver) = if let BlockProductionMethod::UnifiedScheduler = block_production_method {
banking_tracer.create_unified_channel_tpu_vote(&non_vote_sender, &non_vote_receiver)
} else {
banking_tracer.create_channel_tpu_vote()
};
let (gossip_vote_sender, gossip_vote_receiver) = if let BlockProductionMethod::UnifiedScheduler = block_production_method {
banking_tracer.create_unified_channel_gossip_vote(&non_vote_sender, &non_vote_receiver)
} else {
banking_tracer.create_channel_gossip_vote()
};
let cluster_info = {
let keypair = Arc::new(Keypair::new());
let node = Node::new_localhost_with_pubkey(&keypair.pubkey());
Expand All @@ -460,8 +476,29 @@ fn main() {
DEFAULT_TPU_CONNECTION_POOL_SIZE,
),
};
let prioritization_fee_cache = Arc::new(PrioritizationFeeCache::new(0u64));
let collector = solana_sdk::pubkey::new_rand();
let scheduler_pool = if matches!(block_production_method, BlockProductionMethod::UnifiedScheduler) {
let scheduler_pool = DefaultSchedulerPool::new(
SupportedSchedulingMode::Either(SchedulingMode::BlockProduction),
Some((num_banking_threads - 2) as usize),
None,
None,
Some(replay_vote_sender.clone()),
prioritization_fee_cache.clone(),
Some(poh_recorder.read().unwrap().new_recorder()),
);
bank_forks
.write()
.unwrap()
.install_scheduler_pool(scheduler_pool.clone());
Some(scheduler_pool)
} else {
None
};

let banking_stage = BankingStage::new_num_threads(
block_production_method,
block_production_method.clone(),
&cluster_info,
&poh_recorder,
non_vote_receiver,
Expand All @@ -473,10 +510,29 @@ fn main() {
None,
Arc::new(connection_cache),
bank_forks.clone(),
&Arc::new(PrioritizationFeeCache::new(0u64)),
&prioritization_fee_cache,
false,
scheduler_pool,
);

if matches!(block_production_method, BlockProductionMethod::UnifiedScheduler) {
sleep(Duration::from_millis(111));
bank_forks
.write()
.unwrap()
.reinstall_schedulers(SchedulingMode::BlockProduction);
bank = bank_forks
.read()
.unwrap()
.working_bank_with_scheduler()
.clone_with_scheduler()
}
// todo: proper assert!
let _ = poh_recorder
.write()
.unwrap()
.reset(bank.clone(), Some((bank.slot(), bank.slot() + 1)));

// This is so that the signal_receiver does not go out of scope after the closure.
// If it is dropped before poh_service, then poh_service will error when
// calling send() on the channel.
Expand All @@ -485,7 +541,6 @@ fn main() {
let mut tx_total_us = 0;
let base_tx_count = bank.transaction_count();
let mut txs_processed = 0;
let collector = solana_sdk::pubkey::new_rand();
let mut total_sent = 0;
for current_iteration_index in 0..iterations {
trace!("RUNNING ITERATION {}", current_iteration_index);
Expand Down Expand Up @@ -537,33 +592,37 @@ fn main() {
tx_total_us += now.elapsed().as_micros() as u64;

let mut poh_time = Measure::start("poh_time");
poh_recorder
// todo: proper assert!
let _ = poh_recorder
.write()
.unwrap()
.reset(bank.clone(), Some((bank.slot(), bank.slot() + 1)));
poh_time.stop();

let mut new_bank_time = Measure::start("new_bank");
let new_slot = bank.slot() + 1;
let new_bank = Bank::new_from_parent(bank, &collector, new_slot);
let new_bank = Bank::new_from_parent(bank.clone(), &collector, new_slot);
if let Some((result, _timings)) = bank.wait_for_completed_scheduler() {
result.unwrap();
}
new_bank_time.stop();

let mut insert_time = Measure::start("insert_time");
bank_forks.write().unwrap().insert(new_bank);
bank = bank_forks.read().unwrap().working_bank();
let mut poh_recorder_write = poh_recorder.write().unwrap();
bank_forks
.write()
.unwrap()
.insert_with_scheduling_mode(SchedulingMode::BlockProduction, new_bank);
bank = bank_forks.read().unwrap().working_bank_with_scheduler().clone_with_scheduler();
insert_time.stop();

// set cost tracker limits to MAX so it will not filter out TXs
bank.write_cost_tracker()
.unwrap()
.set_limits(u64::MAX, u64::MAX, u64::MAX);

assert!(poh_recorder.read().unwrap().bank().is_none());
poh_recorder
.write()
.unwrap()
.set_bank_for_test(bank.clone());
assert!(poh_recorder.read().unwrap().bank().is_some());
assert!(poh_recorder_write.bank().is_none());
poh_recorder_write.set_bank_for_test(bank.clone());
debug!(
"new_bank_time: {}us insert_time: {}us poh_time: {}us",
new_bank_time.as_us(),
Expand Down
1 change: 1 addition & 0 deletions bench-tps/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ clap = { workspace = true }
crossbeam-channel = { workspace = true }
csv = { workspace = true }
log = { workspace = true }
mimalloc = "0.1.42"
rand = { workspace = true }
rayon = { workspace = true }
serde = { workspace = true }
Expand Down
3 changes: 3 additions & 0 deletions bench-tps/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ use {
},
};

#[global_allocator]
static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;

/// Number of signatures for all transactions in ~1 week at ~100K TPS
pub const NUM_SIGNATURES_FOR_TXS: u64 = 100_000 * 60 * 60 * 24 * 7;

Expand Down
1 change: 1 addition & 0 deletions cli-output/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ clap = "2.33.0"
console = { workspace = true }
humantime = { workspace = true }
indicatif = { workspace = true }
log = { workspace = true }
pretty-hex = { workspace = true }
semver = { workspace = true }
serde = { workspace = true }
Expand Down
2 changes: 2 additions & 0 deletions cli/src/cluster_query.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1526,6 +1526,7 @@ pub fn process_ping(
format!("[{}.{:06}] ", micros / 1_000_000, micros % 1_000_000)
};

log::warn!("before send_transaction");
match tps_client.send_transaction(tx) {
Ok(signature) => {
let transaction_sent = Instant::now();
Expand All @@ -1537,6 +1538,7 @@ pub fn process_ping(
Ok(()) => {
let elapsed_time_millis = elapsed_time.as_millis() as u64;
confirmation_time.push_back(elapsed_time_millis);
log::warn!("ping succeeded: {elapsed_time_millis}ms!");
let cli_ping_data = CliPingData {
success: true,
signature: Some(signature.to_string()),
Expand Down
Loading