diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-03-20 02:36:50 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-03-20 02:36:50 +0100 |
commit | 10c56bcea05df9ac5a7036850039900fbe435e00 (patch) | |
tree | 858b5d691cfecbab0216eaf415ac462e4b07cc37 /src/include | |
parent | 7a1c6769e428f6f8bb413fb74383c82e16871d2c (diff) | |
download | exchange-10c56bcea05df9ac5a7036850039900fbe435e00.tar.xz |
improving benchmarking logic, including more timings
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/taler_error_codes.h | 49 | ||||
-rw-r--r-- | src/include/taler_testing_lib.h | 43 |
2 files changed, 92 insertions, 0 deletions
diff --git a/src/include/taler_error_codes.h b/src/include/taler_error_codes.h index 0969261a8..be62aa3f0 100644 --- a/src/include/taler_error_codes.h +++ b/src/include/taler_error_codes.h @@ -389,6 +389,13 @@ enum TALER_ErrorCode TALER_EC_WITHDRAW_RESERVE_BALANCE_CORRUPT = 1117, /** + * The exchange responded with a reply that did not satsify the + * protocol. This error is not used in the protocol but created + * client-side. + */ + TALER_EC_WITHDRAW_REPLY_MALFORMED = 1118, + + /** * The exchange failed to obtain the transaction history of the given * reserve from the database. This response is provided with HTTP * status code MHD_HTTP_INTERNAL_SERVER_ERROR. @@ -402,6 +409,13 @@ enum TALER_ErrorCode TALER_EC_RESERVE_STATUS_UNKNOWN = 1151, /** + * The exchange responded with a reply that did not satsify the + * protocol. This error is not used in the protocol but created + * client-side. + */ + TALER_EC_RESERVE_STATUS_REPLY_MALFORMED = 1152, + + /** * The respective coin did not have sufficient residual value for the * /deposit operation (i.e. due to double spending). The "history" in * the respose provides the transaction history of the coin proving @@ -753,12 +767,26 @@ enum TALER_ErrorCode TALER_EC_REFRESHES_INVALID_RCH = 1384, /** + * The exchange responded with a reply that did not satsify the + * protocol. This error is not used in the protocol but created + * client-side. + */ + TALER_EC_REFRESH_REVEAL_REPLY_MALFORMED = 1385, + + /** * The coin specified in the link request is unknown to the exchange. * This response is provided with HTTP status code MHD_HTTP_NOT_FOUND. */ TALER_EC_REFRESH_LINK_COIN_UNKNOWN = 1400, /** + * The exchange responded with a reply that did not satsify the + * protocol. This error is not used in the protocol but created + * client-side. + */ + TALER_EC_REFRESH_LINK_REPLY_MALFORMED = 1401, + + /** * The exchange knows literally nothing about the coin we were asked * to refund. But without a transaction history, we cannot issue a * refund. This is kind-of OK, the owner should just refresh it @@ -929,6 +957,13 @@ enum TALER_ErrorCode TALER_EC_TRACK_TRANSFER_WIRE_FEE_INCONSISTENT = 1704, /** + * The exchange responded with a reply that did not satsify the + * protocol. This error is not used in the protocol but created + * client-side. + */ + TALER_EC_TRACK_TRANSFER_REPLY_MALFORMED = 1705, + + /** * The exchange found internally inconsistent fee data when resolving * a transaction in the database. This response is provided with HTTP * status code MHD_HTTP_INTERNAL_SERVER_ERROR. @@ -1040,6 +1075,13 @@ enum TALER_ErrorCode TALER_EC_RECOUP_DENOMINATION_VALIDITY_IN_FUTURE = 1860, /** + * The exchange responded with a reply that did not satsify the + * protocol. This error is not used in the protocol but created + * client-side. + */ + TALER_EC_RECOUP_REPLY_MALFORMED = 1861, + + /** * The "have" parameter was not a natural number. This reponse is * provied with an HTTP status code of MHD_HTTP_BAD_REQUEST. */ @@ -1733,6 +1775,13 @@ enum TALER_ErrorCode TALER_EC_AUDITOR_EXCHANGE_STORE_DB_ERROR = 3003, /** + * The auditor (!) responded with a reply that did not satsify the + * protocol. This error is not used in the protocol but created + * client-side. + */ + TALER_EC_AUDITOR_EXCHANGES_REPLY_MALFORMED = 3004, + + /** * The exchange failed to compute ECDH. This response is provided * with HTTP status code MHD_HTTP_INTERNAL_SERVER_ERROR. */ diff --git a/src/include/taler_testing_lib.h b/src/include/taler_testing_lib.h index 7e392f09b..9e32d72e6 100644 --- a/src/include/taler_testing_lib.h +++ b/src/include/taler_testing_lib.h @@ -495,6 +495,16 @@ struct TALER_TESTING_Command const char *trait, unsigned int index); + /** + * When did the execution of this command start? + */ + struct GNUNET_TIME_Absolute start_time; + + /** + * When did the execution of this command finish? + */ + struct GNUNET_TIME_Absolute finish_time; + }; @@ -1822,6 +1832,39 @@ TALER_TESTING_cmd_insert_deposit (const char *label, const char *amount_with_fee, const char *deposit_fee); + +/** + * Performance counter. + */ +struct TALER_TESTING_Timer +{ + /** + * For which type of commands. + */ + const char *prefix; + + /** + * Total time spend in all commands of this type. + */ + struct GNUNET_TIME_Relative total_duration; + + /** + * Number of commands summed up. + */ + unsigned int num_commands; +}; + + +/** + * Obtain performance data from the interpreter. + * + * @param timers what commands (by label) to obtain runtimes for + * @return the command + */ +struct TALER_TESTING_Command +TALER_TESTING_cmd_stat (struct TALER_TESTING_Timer *timers); + + /* *** Generic trait logic for implementing traits ********* */ /** |