summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFournier Nicolas <nicolas.fournier@ensta-paristech.fr>2015-07-07 12:57:14 +0200
committerFournier Nicolas <nicolas.fournier@ensta-paristech.fr>2015-07-07 12:57:14 +0200
commitb7e2e107126cbd19aff063633c6d91029552e5d0 (patch)
treee39d32528f07bb51cf1254c1fc19b859d5380171
parenta7d8984671a4955a8e965773cd66955566e39fc7 (diff)
downloadexchange-b7e2e107126cbd19aff063633c6d91029552e5d0.tar.gz
exchange-b7e2e107126cbd19aff063633c6d91029552e5d0.tar.bz2
exchange-b7e2e107126cbd19aff063633c6d91029552e5d0.zip
Bugfixes
-rw-r--r--src/mintdb/perf_taler_mintdb.c52
-rw-r--r--src/mintdb/perf_taler_mintdb_interpreter.c48
2 files changed, 59 insertions, 41 deletions
diff --git a/src/mintdb/perf_taler_mintdb.c b/src/mintdb/perf_taler_mintdb.c
index 27731f08b..670601e35 100644
--- a/src/mintdb/perf_taler_mintdb.c
+++ b/src/mintdb/perf_taler_mintdb.c
@@ -45,20 +45,19 @@ main (int argc, char ** argv)
struct PERF_TALER_MINTDB_Cmd benchmark[] =
{
// Denomination used to create coins
- PERF_TALER_MINTDB_INIT_CMD_DEBUG ("00 - Start of interpreter"),
+ PERF_TALER_MINTDB_INIT_CMD_DEBUG ("Initializing database"),
PERF_TALER_MINTDB_INIT_CMD_LOOP ("01 - denomination loop",
NB_DENOMINATION_INIT),
- PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION ("01 - start transaction"),
+ PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION (""),
PERF_TALER_MINTDB_INIT_CMD_INSERT_DENOMINATION ("01 - denomination"),
- PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION ("01 - commit transaction"),
+ PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION (""),
PERF_TALER_MINTDB_INIT_CMD_SAVE_ARRAY ("01 - save denomination",
"01 - denomination loop",
"01 - denomination",
NB_DENOMINATION_SAVE),
- PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("01 - denomination loop end",
+ PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("",
"01 - denomination loop"),
- PERF_TALER_MINTDB_INIT_CMD_DEBUG ("01 - init denomination complete"),
// End of initialization
// Reserve initialization
PERF_TALER_MINTDB_INIT_CMD_LOOP ("02 - init reserve loop",
@@ -68,14 +67,13 @@ main (int argc, char ** argv)
"02 - init reserve loop",
"02 - reserve",
NB_RESERVE_SAVE),
- PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("02 - init reserve end loop",
+ PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("",
"02 - init reserve loop"),
- PERF_TALER_MINTDB_INIT_CMD_DEBUG ("02 - reserve init complete"),
// End reserve init
// Withdrawal initialization
PERF_TALER_MINTDB_INIT_CMD_LOOP ("03 - init withdraw loop",
NB_WITHDRAW_INIT),
- PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION ("03 - start transaction"),
+ PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION (""),
PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("03 - denomination load",
"03 - init withdraw loop",
"01 - save denomination"),
@@ -85,39 +83,59 @@ main (int argc, char ** argv)
PERF_TALER_MINTDB_INIT_CMD_INSERT_WITHDRAW ("03 - withdraw",
"03 - denomination load",
"03 - reserve load"),
- PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION ("03 - commit transaction"),
+ PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION (""),
PERF_TALER_MINTDB_INIT_CMD_SAVE_ARRAY ("03 - blindcoin array",
"03 - init withdraw loop",
"03 - withdraw",
NB_WITHDRAW_SAVE),
- PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("03 - withdraw init end loop",
+ PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("",
"03 - init withdraw loop"),
- PERF_TALER_MINTDB_INIT_CMD_DEBUG ("03 - withdraw init complete"),
//End of withdrawal initialization
//Deposit initialization
PERF_TALER_MINTDB_INIT_CMD_LOOP ("04 - deposit init loop",
NB_DEPOSIT_INIT),
- PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION ("04 - start transaction"),
+ PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION (""),
PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("04 - denomination load",
"04 - deposit init loop",
"01 - save denomination"),
PERF_TALER_MINTDB_INIT_CMD_INSERT_DEPOSIT ("04 - deposit",
"04 - denomination load"),
- PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION ("04 - commit transaction"),
+ PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION (""),
PERF_TALER_MINTDB_INIT_CMD_SAVE_ARRAY ("04 - deposit array",
"04 - deposit init loop",
"04 - deposit",
NB_DEPOSIT_SAVE),
- PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("04 - deposit init loop end",
+ PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("",
"04 - deposit init loop"),
- PERF_TALER_MINTDB_INIT_CMD_DEBUG ("04 - deposit init complete"),
+ PERF_TALER_MINTDB_INIT_CMD_DEBUG ("End of initialization"),
// End of deposit initialization
- PERF_TALER_MINTDB_INIT_CMD_END ("end"),
+
+ PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("05 - start"),
+ PERF_TALER_MINTDB_INIT_CMD_LOOP ("05 - loop",
+ NB_DEPOSIT_SAVE),
+ PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION (""),
+ PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("05 - deposit",
+ "05 - loop",
+ "04 - deposit array"),
+ PERF_TALER_MINTDB_INIT_CMD_GET_DEPOSIT ("",
+ ""),
+ PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION (""),
+ PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("",
+ "05 - loop"),
+ PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("05 - stop"),
+ PERF_TALER_MINTDB_INIT_CMD_GAUGER ("",
+ "05 - start",
+ "05 - stop",
+ "deposit insertion",
+ "deposit/sec",
+ NB_DEPOSIT_SAVE),
+ PERF_TALER_MINTDB_INIT_CMD_END (""),
};
ret = PERF_TALER_MINTDB_run_benchmark ("perf-taler-mintdb",
"./test-mint-db-postgres.conf",
- NULL,
+ (struct PERF_TALER_MINTDB_Cmd [])
+ {PERF_TALER_MINTDB_INIT_CMD_END("")},
benchmark);
if (GNUNET_SYSERR == ret)
return 1;
diff --git a/src/mintdb/perf_taler_mintdb_interpreter.c b/src/mintdb/perf_taler_mintdb_interpreter.c
index 8df3cf747..0585d16a7 100644
--- a/src/mintdb/perf_taler_mintdb_interpreter.c
+++ b/src/mintdb/perf_taler_mintdb_interpreter.c
@@ -449,8 +449,8 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)
GAUGER ("MINTDB",
state->cmd[state->i].details.gauger.description,
- elapsed_ms / state->cmd[state->i].details.gauger.divide,
- "milliseconds");
+ ((1.0 * state->cmd[state->i].details.gauger.divide) / elapsed_ms) * 1000,
+ state->cmd[state->i].details.gauger.unit);
}
break;
@@ -505,17 +505,17 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)
case PERF_TALER_MINTDB_CMD_GET_DEPOSIT:
{
int source_index;
- struct TALER_MINTDB_Deposit *deposit;
+ struct PERF_TALER_MINTDB_Data data;
GNUNET_assert (GNUNET_SYSERR !=
(source_index = cmd_find (state->cmd,
state->cmd[state->i]
.details.get_deposit.label_deposit)));
- GNUNET_assert (NULL !=
- (deposit = state->cmd[source_index].exposed.data.deposit));
+ data_copy (&state->cmd[source_index].exposed,
+ &data);
state->plugin->have_deposit (state->plugin->cls,
state->session,
- deposit);
+ data.data.deposit);
}
break;
@@ -545,18 +545,18 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)
case PERF_TALER_MINTDB_CMD_GET_RESERVE:
{
int reserve_index;
- struct TALER_MINTDB_Reserve *reserve;
+ struct PERF_TALER_MINTDB_Data data;
GNUNET_assert (GNUNET_SYSERR !=
(reserve_index = cmd_find (state->cmd,
state->cmd[state->i]
.details.get_reserve.label_reserve)));
- GNUNET_assert (NULL !=
- (reserve = state->cmd[reserve_index].exposed.data.reserve));
+ data_copy (&state->cmd[reserve_index].exposed,
+ &data);
GNUNET_assert (GNUNET_OK ==
(state->plugin->reserve_get (state->plugin->cls,
state->session,
- reserve)));
+ data.data.reserve)));
}
break;
@@ -564,18 +564,18 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)
{
int reserve_index;
struct TALER_MINTDB_ReserveHistory *history;
- struct TALER_MINTDB_Reserve *reserve;
+ struct PERF_TALER_MINTDB_Data data;
GNUNET_assert (GNUNET_SYSERR !=
(reserve_index = cmd_find (state->cmd,
state->cmd[state->i]
.details.get_reserve_history.label_reserve)));
- GNUNET_assert (NULL !=
- (reserve = state->cmd[reserve_index].exposed.data.reserve));
+ data_copy (&state->cmd[reserve_index].exposed,
+ &data);
GNUNET_assert (NULL !=
(history = state->plugin->get_reserve_history (state->plugin->cls,
state->session,
- &reserve->pub)));
+ &data.data.reserve->pub)));
state->plugin->free_reserve_history (state->plugin->cls,
history);
}
@@ -597,18 +597,18 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)
case PERF_TALER_MINTDB_CMD_GET_DENOMINATION:
{
int source_index;
- struct TALER_MINTDB_DenominationKeyIssueInformation *dki;
+ struct PERF_TALER_MINTDB_Data data;
GNUNET_assert (GNUNET_SYSERR !=
(source_index = cmd_find (state->cmd,
state->cmd[state->i]
.details.get_denomination.label_denom)));
- GNUNET_assert (NULL !=
- (dki = state->cmd[source_index].exposed.data.dki));
+ data_copy (&state->cmd[source_index].exposed,
+ &data);
state->plugin->get_denomination_info (state->plugin->cls,
state->session,
- &dki->denom_pub,
- &dki->issue);
+ &data.data.dki->denom_pub,
+ &data.data.dki->issue);
}
break;
@@ -641,18 +641,18 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)
case PERF_TALER_MINTDB_CMD_GET_WITHDRAW:
{
int source_index;
- struct TALER_MINTDB_CollectableBlindcoin *blindcoin ;
+ struct PERF_TALER_MINTDB_Data data;
GNUNET_assert (GNUNET_SYSERR !=
(source_index = cmd_find (state->cmd,
state->cmd[state->i]
.details.get_denomination.label_denom)));
- GNUNET_assert (NULL !=
- (blindcoin = state->cmd[source_index].exposed.data.blindcoin));
+ data_copy (&state->cmd[source_index].exposed,
+ &data);
state->plugin->get_withdraw_info (state->plugin->cls,
state->session,
- &blindcoin->h_coin_envelope,
- blindcoin);
+ &data.data.blindcoin->h_coin_envelope,
+ data.data.blindcoin);
}
break;