Commit Graph

235 Commits

Author SHA1 Message Date
Christian Grothoff
0df2028f96
make transactions smaller to try to reduce rollbacks 2018-08-19 16:01:57 +02:00
Christian Grothoff
ddca1f5c68
add logic to allow fakebank transfers to be retried 2018-08-19 14:19:17 +02:00
Christian Grothoff
7663baf2e2
retry instantly if /keys download fails during testcase startup 2018-08-19 13:27:21 +02:00
Florian Dold
2d7e9bc5aa
increase client limit 2018-08-19 13:08:05 +02:00
Christian Grothoff
433fab96c9
add logic to retry /keys if /keys download fails 2018-08-19 12:12:00 +02:00
Florian Dold
ec08232b3f
increase listen backlog for fakebank 2018-08-19 11:37:42 +02:00
Florian Dold
7ba7a46f24
benchmark: remove odd macro 2018-08-19 01:13:17 +02:00
Florian Dold
96e047b186
add remote benchmarking 2018-08-19 00:49:16 +02:00
Christian Grothoff
f0a796a3f6
make curl check saner, use AS_IF 2018-08-16 14:22:01 +02:00
Christian Grothoff
a1f289512e
make wirewatch batch size adaptive to transaction success/failure 2018-08-11 11:29:45 +02:00
Christian Grothoff
96c2fb8e10
implement retries for a few more commands 2018-08-11 11:29:02 +02:00
Christian Grothoff
30191a8ae5
be aggressive 2018-08-11 06:31:43 +02:00
Christian Grothoff
2637c1b682
add multi-reserve support, improve load balancing by not reusing connections in benchmark 2018-08-11 02:48:49 +02:00
Christian Grothoff
e0585f2dac
resign account-2 2018-08-10 22:32:44 +02:00
Christian Grothoff
1314b5fe20
use timeout option in benchmark 2018-08-10 22:31:46 +02:00
Christian Grothoff
e0935af764
add a few more FOR UPDATE where appropriate 2018-08-10 19:12:57 +02:00
Christian Grothoff
9887077ea2
launch wirewatch in the background for benchmarking 2018-08-10 18:48:45 +02:00
Christian Grothoff
e17121fd1c
use retry in benchmark 2018-08-10 18:48:44 +02:00
Christian Grothoff
db65bc69bf
fix bug wrt signature handling during withdraw (with/without optimistic signing) 2018-08-10 18:37:25 +02:00
Christian Grothoff
04055de75a
spaceing 2018-08-09 22:30:45 +02:00
Christian Grothoff
9384234555
use correct HTTP status code for commit failures 2018-08-09 21:15:27 +02:00
Christian Grothoff
c51b19512b
report ore precisely where commands went wrong 2018-08-09 21:10:56 +02:00
Christian Grothoff
e3f7083b3e
fix KS state freeing on exit 2018-08-09 20:51:42 +02:00
Christian Grothoff
d9474aab0f
fix benchmark tool output and time measurement 2018-08-09 20:25:30 +02:00
Christian Grothoff
a05859ad13
use only one fakebank instance in multi-process benchmark 2018-08-09 19:47:23 +02:00
Christian Grothoff
f17ad4de76
in parallel tests, only launch one exchange -- still broken: code attempts to launch multiple fakebanks 2018-08-09 10:33:21 +02:00
Christian Grothoff
4693708b8c
use fprintf / stdout for final benchmark result 2018-08-09 10:15:04 +02:00
Christian Grothoff
3197125dbe
first quick hack for parallelizing benchmark 2018-08-07 22:10:38 +02:00
Christian Grothoff
46047a6c14
fix build 2018-08-06 15:18:29 +02:00
Marcello Stanisci
5c18695bc0
Remove unnecessary code. 2018-07-27 16:18:51 +02:00
Marcello Stanisci
dddf7f52a5
Salt and sig not to be kept on tracking. 2018-07-27 14:53:45 +02:00
Marcello Stanisci
d9738553b2
Benchmark,
extract bank url from the configuration; then
make example config usable.
2018-07-27 14:47:02 +02:00
Marcello Stanisci
1c541596d6
Add make target to clean blobs from the benchmark. 2018-07-27 12:12:13 +02:00
Marcello Stanisci
e850dc09c4
Make benchmark config file working. 2018-07-27 11:58:54 +02:00
Marcello Stanisci
880ce0bdb3
Remove old note. 2018-07-25 16:19:45 +02:00
Marcello Stanisci
6eaa415f90
Benchmark.
Building the /wire response object inside the tool.
2018-07-25 16:18:49 +02:00
Marcello Stanisci
953a2bd382
Add benchmark example config file. 2018-07-25 15:43:27 +02:00
Marcello Stanisci
3af3a9fdc3
Give default loglev at benchmark. 2018-07-25 13:36:33 +02:00
Marcello Stanisci
de925a3556
Benchmark.
Removing "-new" part from the source file.
2018-07-25 13:26:47 +02:00
Marcello Stanisci
9f8b6a6b5d
Prefer strncpy() 2018-07-25 13:08:18 +02:00
Marcello Stanisci
2393e26b02
Use proper exchange preparator (benchmark) 2018-07-25 12:36:38 +02:00
Marcello Stanisci
7a1d4e4d65
no ApiKey for benchmark 2018-07-25 12:05:55 +02:00
Marcello Stanisci
d7789d0984
Fix segfault. 2018-07-25 12:03:26 +02:00
Marcello Stanisci
7aee3ddc95
Benchmark uses fakebank now. 2018-07-25 11:57:15 +02:00
Marcello Stanisci
207c975902
Benchmark.
Measuring time and print outcome.
2018-07-25 11:45:14 +02:00
Marcello Stanisci
2952c84fdf
Benchmark.
Fix default runs' number and payto construction.
2018-07-25 10:54:48 +02:00
Marcello Stanisci
9460206749
Benchmark.
Batching all the commands together.
2018-07-25 10:40:38 +02:00
Marcello Stanisci
5f0b98a298
Benchmark.
Define the "unity" benchmark: a array of CMDs containing
at least a withdraw+deposit, and _possibly_ a refresh operation.
2018-07-25 10:23:40 +02:00
Marcello Stanisci
64cb473ff4
Benchmark.
Calculating total amount for the (unique) reserve.
2018-07-25 09:31:18 +02:00
Marcello Stanisci
92dc0c285a
Benchmark.
Iterations are counted "per coin".  Basically,
the user expresses how many coins they want to
instantiate for a single invocation of the command.
2018-07-24 18:23:39 +02:00
Marcello Stanisci
a6a28024db
Benchmark.
Making imported benchmark a stub ; and getting it to compile.
2018-07-24 18:17:34 +02:00
Marcello Stanisci
3ed6d650a6
Fix benchmark.
Importing the _merchant_ benchmark source file here and
including it into the compilation system.
2018-07-24 16:02:22 +02:00
Christian Grothoff
52fa78b448
lookahead/duration options are in [exchange], not [exchange_keys], use consistently 2018-07-04 00:43:24 +02:00
Christian Grothoff
cb55c1a3af
Changing configuration structure to enable multiple accounts.
This change enables using multiple wire plugins at the same time.
Also, we now distinguish between the wire plugin (i.e. EBICS or
taler_bank) and the wire method (i.e. SEPA or x-taler-bank) that
the wire plugin is implementing.  The "taler-bank" wire method
was renamed from "test" to "x-taler-bank".

This also changes the format of the /wire response of the exchange,
as we now need to return multiple accounts.  Note that wire fees
are specified per wire method, not per wire account.

taler-exchange-keyup now automatically signs all of the /wire
responses in the location specified by the configuration.

Account identification in wire plugins was changed to use
payto://-URLs instead of method-specific JSON fields.  Signing
and validation of /wire responses was moved from each wire
plugin to a generic validation method in libtalerutil (crypto)
or libtalerjson (for JSON-formatted inputs).
Convenience methods were added to generate JSON for wire accounts
(salting, signing).

Various section and option names were adjusted to streamline the
configuration and make it more consistent overall.  Documentation
was updated as well.
2018-04-02 14:29:44 +02:00
Florian Dold
e318edb5e5
use url instead of uri consistently 2018-01-30 01:38:04 +01:00
Christian Grothoff
2152a6936e
eliminate use of exchange's /admin/add/incoming with fakebank in taler-exchange-benchmark 2017-12-10 19:00:19 +01:00
Christian Grothoff
499247a480
fixing #5178 2017-11-29 20:23:08 +01:00
Christian Grothoff
2f2930f1ba
major API refactoring, adding planchet generation and coin extraction APIs to the Taler crypto library, thereby simplifying code in withdraw, refresh, tipping, payback and testcases; slight API incompatibilities to previous versions are introduced 2017-10-31 14:02:54 +01:00
Christian Grothoff
e4fe0dc87e
exit more nicely if command line arguments were wrong 2017-10-17 19:53:43 +02:00
Christian Grothoff
837fcd515c
use proper return value, some c99 changes 2017-10-06 22:13:28 +02:00
Christian Grothoff
2f715c27f8
check return value from TALER_JSON_hash 2017-10-06 20:02:28 +02:00
Christian Grothoff
d77c4160ec
implement logic to check protocol version compatibility (#5035) 2017-07-01 14:15:26 +02:00
Florian Dold
85350ced32
rename proposal_data to contract_terms (see #4879) 2017-05-29 01:15:41 +02:00
Christian Grothoff
57964b6ae9
fix indentation 2017-05-04 20:19:57 +02:00
Christian Grothoff
f4df63e448
adding support for transaction history to wire plugin API (#4959) 2017-05-04 18:35:53 +02:00
Christian Grothoff
487237381d
fix misc doxygen issues 2017-04-20 07:49:56 +02:00
Christian Grothoff
8d9dc14227
renaming GNUNET_GETOPT-symbols to match latest changes in GNUnet 2017-03-25 23:39:30 +01:00
Christian Grothoff
ae3e850c94
update getopt config parsing style to match 'getopt' GNUnet branch API change 2017-03-15 12:01:06 +01:00
Christian Grothoff
4d2faa5ec9
changing wire plugin specification from [exchange]WIREFORMAT to [exchange-wire-PLUGIN]enable=YES/NO 2017-03-03 19:24:08 +01:00
Florian Dold
92246c3e88
remove transaction_id, only one payment per proposal allowed 2017-02-07 15:09:10 +01:00
Florian Dold
8c820b6916
contract terminology renaming (#4877) 2017-02-06 15:43:06 +01:00
Christian Grothoff
f032706fef
fixing taler-benchmark build issues introduced by recent API changes 2016-10-20 21:20:31 +02:00
Christian Grothoff
265fc74b65 check return values, fix use of uninit memory on certain error handling paths 2016-09-23 16:52:13 +02:00
Marcello Stanisci
59c6856284 fixing #4594 2016-07-07 17:55:25 +02:00
Christian Grothoff
9035b9d324 -distfix 2016-06-20 17:45:02 +02:00
Marcello Stanisci
17c8741e20 typo 2016-06-16 11:22:07 +02:00
Marcello Stanisci
c22a25c22b typo 2016-06-16 00:22:20 +02:00
Christian Grothoff
8c7406cb42 check refresh amounts add up correctly, fix linker issue 2016-06-15 22:55:05 +02:00
Christian Grothoff
c38a7c5518 more sanity checks, better clean up 2016-06-15 22:55:05 +02:00
Christian Grothoff
754c4ef24c nicer reports
-fix leak

-fix leaks
2016-06-15 22:55:02 +02:00
Christian Grothoff
0c3f6dde25 add support to collect basic metrics and to terminate automatically 2016-06-15 22:55:02 +02:00
Christian Grothoff
c2bb85ffdd first working version of benchmark logic 2016-06-15 22:55:01 +02:00
Christian Grothoff
f59246e763 clean up blobs
clean up blobs

clean up blobs

clean up blobs

pass -c option to taler services, ship with reasonable config

exclude live-keys from config
2016-06-15 22:54:58 +02:00
Christian Grothoff
3876b70eb4 merge refresh closure into struct Coin 2016-06-15 16:42:43 +02:00
Christian Grothoff
e4b9a151a6 restructure benchmark logic so that we can schedule each operation independently 2016-06-15 16:36:17 +02:00
Christian Grothoff
b31c62039d avoid passing int's as void*'s in benchmark logic 2016-06-15 16:04:29 +02:00
Christian Grothoff
7588f08238 make exchange URI a command-line option 2016-06-15 15:41:17 +02:00
Christian Grothoff
c32cc081ee misc minor stylistic fixes to benchmark tool: 2016-06-15 15:09:57 +02:00
Marcello Stanisci
7b9272d3e8 left=0 after successful reveal 2016-06-14 15:58:25 +02:00
Marcello Stanisci
1a7619d54e comments 2016-06-14 15:53:48 +02:00
Marcello Stanisci
a34a2873ca reconstructing array of denominations for coins gotten
by melting dynamically; as reported in msg (0010890) of
#4576'
2016-06-14 15:51:58 +02:00
Marcello Stanisci
18c22e3e2e fixing corrupted DLL (resulting from double call to json_decref()) 2016-06-13 23:40:00 +02:00
Christian Grothoff
62b7bbabed Merge branch 'master' of git+ssh://git.taler.net/var/git/exchange 2016-06-13 16:36:13 +02:00
Christian Grothoff
6cd71bebbf implement #4569 2016-06-13 16:36:10 +02:00
Marcello Stanisci
738d0d008e adding re-withdrawing of spent and non-refreshed coins 2016-06-13 15:42:08 +02:00
Marcello Stanisci
4f4bad310b placing refreshed coins where all coins are 2016-06-11 18:01:57 +02:00
Marcello Stanisci
6bd7d2fc85 defining struct for refreshed coins 2016-06-11 17:35:15 +02:00
Marcello Stanisci
3d9e2b89be addressing #4572 2016-06-11 16:31:33 +02:00
Marcello Stanisci
afb10e1d9e fixing segfault (due to a double free) 2016-06-11 16:11:00 +02:00
Marcello Stanisci
809cf5d604 polishing comments 2016-06-11 16:07:33 +02:00
Marcello Stanisci
d7f38a845a addressing compiler warnings 2016-06-11 14:33:52 +02:00
Marcello Stanisci
dd7687a5f7 fixing segfault 2016-06-10 22:35:38 +02:00
Marcello Stanisci
1db423907e fixing melting according to the refresh_probability=1 used in debugging circumstances' 2016-06-10 16:27:31 +02:00
Christian Grothoff
0f85142d27 -do not ignore error code... 2016-06-10 16:07:51 +02:00
Christian Grothoff
96b6bca54d -do not ignore error code... 2016-06-10 16:06:27 +02:00
Marcello Stanisci
8c13b6242b first steps in refresh reveal in benchmark 2016-06-10 16:04:03 +02:00
Marcello Stanisci
2da3c046b2 melting logic (still no reveal) in benchmark 2016-06-10 15:22:32 +02:00
Marcello Stanisci
dafde95d85 addressing compilation warnings 2016-06-10 13:52:40 +02:00
Marcello Stanisci
621a8172a1 preparing refresh blob 2016-06-10 01:04:09 +02:00
Marcello Stanisci
fc07c4c159 - picking needed JSONs from files instead of hardcoding
- populating (by hand) the array of denominations needed for refreshing
- minor fixes
2016-06-09 23:35:05 +02:00
Marcello Stanisci
d450303890 removing decref from wring place 2016-06-09 17:22:15 +02:00
Marcello Stanisci
f50d4b0f35 json_decref in shutdown 2016-06-08 17:34:46 +02:00
Marcello Stanisci
feb60291b6 getting banking details through config file in benchmark 2016-06-08 17:11:33 +02:00
Marcello Stanisci
46c593f93e - calling exchange via GNUNET_OS_ interface
- getting currency via /keys
- adding -c option
(benchmark)
2016-06-08 16:12:31 +02:00
Marcello Stanisci
7714356611 first steps in refreshing in benchmark 2016-06-07 17:41:16 +02:00
Marcello Stanisci
11703131a3 Merge branch 'master' of ssh://taler.net/var/git/exchange 2016-06-07 17:12:39 +02:00
Marcello Stanisci
ca8e309877 adding find_pk() to benchmark 2016-06-07 16:58:55 +02:00
Christian Grothoff
166352e87e add exchange_pub to callbacks 2016-06-07 15:14:44 +02:00
Christian Grothoff
8d329a0256 merge 2016-06-06 23:55:31 +02:00
Christian Grothoff
7d281b63be fixing compiler warnings, indentation, etc. 2016-06-06 23:53:54 +02:00
Marcello Stanisci
8c120f30f4 fixing segfault when shutting down benchmark, but now it hangs.. 2016-06-06 22:40:33 +02:00
Marcello Stanisci
2f6c57f351 spending logic in benchmark 2016-06-06 16:53:42 +02:00
Marcello Stanisci
69756317cd freeing in shutdown 2016-06-04 01:48:20 +02:00
Marcello Stanisci
f1858fc1f4 withdrawing coins and picking the ones to spend according to a given probability (see macro SPEND_PROBABILITY), for benchmarking 2016-06-04 01:29:42 +02:00
Marcello Stanisci
4843a41fc4 generating (global) blinding key for benchmark 2016-06-03 19:39:04 +02:00
Marcello Stanisci
a1029430b3 fixing benchmark compilation 2016-06-03 14:18:42 +02:00
Marcello Stanisci
9259c2bc69 anti-segfault comments, cancelling pending operation when shutting down benchmark 2016-06-03 02:28:57 +02:00
Marcello Stanisci
ece2f5f389 creating reserves for benchmark 2016-06-03 01:23:16 +02:00
Marcello Stanisci
bfd3ce29d1 untracking binary 2016-05-31 11:08:29 +02:00
Marcello Stanisci
9164edd590 linking benchmark using $(top_builddir) instead of -l in Makefile.am 2016-05-31 11:05:49 +02:00
Christian Grothoff
94e1679955 adding a few more uniqueness constraints to DB 2016-05-31 09:13:03 +02:00
Marcello Stanisci
ef81e9db22 comments 2016-05-30 18:57:16 +02:00
Marcello Stanisci
66201bf917 invoking benchmark_run() after getting /keys from exchange. Still doesn't work with https 2016-05-30 18:45:57 +02:00
Marcello Stanisci
925097c86d adding --pool-size option to benchmark,
correcting comments
2016-05-30 17:16:01 +02:00
Marcello Stanisci
848c7f0e4f benchmark makefile 2016-05-30 15:08:12 +02:00