Add BenchTpsClient trait (backport #24208) (#24256)

* Add BenchTpsClient trait (#24208)

* Add BenchTpsClient

* Impl BenchTpsClient for used clients

* Use BenchTpsClient in do_bench

* Update integration test to use faucet via rpc

* Support keypairs from file that are not prefunded

* Remove old perf-utils

(cherry picked from commit 3871c85fd7)

# Conflicts:
#	bench-tps/Cargo.toml

* Fix conflicts

Co-authored-by: Tyera Eulberg <tyera@solana.com>
This commit is contained in:
mergify[bot]
2022-04-12 07:45:46 +00:00
committed by GitHub
parent 587d45769d
commit d02bf12976
13 changed files with 395 additions and 169 deletions

View File

@@ -2,7 +2,7 @@
use {
log::*,
solana_bench_tps::{
bench::{do_bench_tps, generate_and_fund_keypairs, generate_keypairs},
bench::{do_bench_tps, fund_keypairs, generate_and_fund_keypairs, generate_keypairs},
cli,
},
solana_genesis::Base64Account,
@@ -28,7 +28,6 @@ fn main() {
let cli::Config {
entrypoint_addr,
faucet_addr,
id,
num_nodes,
tx_count,
@@ -138,19 +137,24 @@ fn main() {
// This prevents the amount of storage needed for bench-tps accounts from creeping up
// across multiple runs.
keypairs.sort_by_key(|x| x.pubkey().to_string());
keypairs
} else {
generate_and_fund_keypairs(
fund_keypairs(
client.clone(),
Some(*faucet_addr),
id,
keypair_count,
*num_lamports_per_account,
&keypairs,
keypairs.len().saturating_sub(keypair_count) as u64,
last_balance,
)
.unwrap_or_else(|e| {
eprintln!("Error could not fund keys: {:?}", e);
exit(1);
})
});
keypairs
} else {
generate_and_fund_keypairs(client.clone(), id, keypair_count, *num_lamports_per_account)
.unwrap_or_else(|e| {
eprintln!("Error could not fund keys: {:?}", e);
exit(1);
})
};
do_bench_tps(client, cli_config, keypairs);