summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-03-20 02:36:50 +0100
committerChristian Grothoff <christian@grothoff.org>2020-03-20 02:36:50 +0100
commit10c56bcea05df9ac5a7036850039900fbe435e00 (patch)
tree858b5d691cfecbab0216eaf415ac462e4b07cc37 /src/include
parent7a1c6769e428f6f8bb413fb74383c82e16871d2c (diff)
downloadexchange-10c56bcea05df9ac5a7036850039900fbe435e00.tar.gz
exchange-10c56bcea05df9ac5a7036850039900fbe435e00.tar.bz2
exchange-10c56bcea05df9ac5a7036850039900fbe435e00.zip
improving benchmarking logic, including more timings
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_error_codes.h49
-rw-r--r--src/include/taler_testing_lib.h43
2 files changed, 92 insertions, 0 deletions
diff --git a/src/include/taler_error_codes.h b/src/include/taler_error_codes.h
index 0969261a..be62aa3f 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 7e392f09..9e32d72e 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 ********* */
/**