diff options
author | Boss Marco <bossm8@bfh.ch> | 2021-11-12 17:28:11 +0100 |
---|---|---|
committer | Boss Marco <bossm8@bfh.ch> | 2021-11-12 17:28:11 +0100 |
commit | ba198eab4a368b3a8dc2992e17e2b88ad377e287 (patch) | |
tree | 90c411ec7675a2157deac2b6bdb7adf51e0a69fe /packages/taler-wallet-cli/src/bench1.ts | |
parent | 612275df613e1c0af15d062c387b9d2f14ccc2fc (diff) | |
download | wallet-core-ba198eab4a368b3a8dc2992e17e2b88ad377e287.tar.xz |
purge wallet after a specified amount of iterations
Diffstat (limited to 'packages/taler-wallet-cli/src/bench1.ts')
-rw-r--r-- | packages/taler-wallet-cli/src/bench1.ts | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/packages/taler-wallet-cli/src/bench1.ts b/packages/taler-wallet-cli/src/bench1.ts index 0e2f94f9f..f0db9761a 100644 --- a/packages/taler-wallet-cli/src/bench1.ts +++ b/packages/taler-wallet-cli/src/bench1.ts @@ -28,6 +28,7 @@ import { getDefaultNodeWallet, NodeHttpLib, WalletApiOperation, + Wallet, } from "@gnu-taler/taler-wallet-core"; /** @@ -48,20 +49,25 @@ export async function runBench1(configJson: any): Promise<void> { const numIter = b1conf.iterations ?? 1; const numDeposits = b1conf.deposits ?? 5; + const restartWallet = b1conf.restartAfter ?? 20; const withdrawAmount = (numDeposits + 1) * 10; logger.info(`Starting Benchmark iterations=${numIter} deposits=${numDeposits}`); + let wallet = {} as Wallet; + for (let i = 0; i < numIter; i++) { // Create a new wallet in each iteration // otherwise the TPS go down // my assumption is that the in-memory db file gets too large - const wallet = await getDefaultNodeWallet({ - // No persistent DB storage. - persistentStoragePath: undefined, - httpLib: myHttpLib, - }); + if (i % restartWallet == 0) { + wallet = await getDefaultNodeWallet({ + // No persistent DB storage. + persistentStoragePath: undefined, + httpLib: myHttpLib, + }); + } await wallet.client.call(WalletApiOperation.InitWallet, {}); logger.trace(`Starting withdrawal amount=${withdrawAmount}`); @@ -128,6 +134,12 @@ interface Bench1Config { currency: string; deposits?: number; + + /** + * How any iterations run until the wallet db gets purged + * Defaults to 20. + */ + restartAfter?: number; } /** @@ -141,4 +153,5 @@ const codecForBench1Config = () => .property("iterations", codecOptional(codecForNumber())) .property("deposits", codecOptional(codecForNumber())) .property("currency", codecForString()) + .property("restartAfter", codecOptional(codecForNumber())) .build("Bench1Config"); |