This commit is contained in:
Amaury Chamayou 2020-12-08 13:43:07 +00:00 коммит произвёл GitHub
Родитель bd7f87278b
Коммит ce63da01f6
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 55 добавлений и 1 удалений

Просмотреть файл

@ -840,6 +840,8 @@ if(BUILD_TESTS)
1000
--repetitions
1000
--msg-ser-fmt
msgpack
)
add_perf_test(
@ -858,6 +860,27 @@ if(BUILD_TESTS)
--repetitions
10000
--use-websockets
--msg-ser-fmt
msgpack
)
add_perf_test(
NAME logging_scenario_js_perf_test
PYTHON_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/tests/infra/perfclient.py
CONSENSUS cft
CLIENT_BIN ./scenario_perf_client
LABEL log_scenario_js
ADDITIONAL_ARGS
--js-app-bundle
${CMAKE_SOURCE_DIR}/samples/apps/logging/js
--scenario-file
${CMAKE_CURRENT_LIST_DIR}/tests/perf_logging_scenario_100txs.json
--max-writes-ahead
1000
--repetitions
800
--msg-ser-fmt
text
)
endif()

Просмотреть файл

@ -350,6 +350,27 @@ namespace client
append_prepared_tx(tx, index);
}
void add_prepared_tx(
const std::string& method,
const nlohmann::json& params,
bool expects_commit,
const std::optional<size_t>& index,
const serdes::Pack& serdes)
{
auto body = serdes::pack(params, serdes);
const PreparedTx tx{rpc_connection->gen_request(
method,
body,
serdes == serdes::Pack::Text ?
http::headervalues::contenttype::OCTET_STREAM :
http::headervalues::contenttype::MSGPACK),
method,
expects_commit};
append_prepared_tx(tx, index);
}
void add_prepared_tx(
const std::string& method,
const nlohmann::json& params,

Просмотреть файл

@ -10,6 +10,9 @@ struct ScenarioPerfClientOptions : public client::PerfOptions
{
size_t repetitions = 1;
std::string scenario_file;
std::vector<std::pair<std::string, serdes::Pack>> serdes_map{
{"text", serdes::Pack::Text}, {"msgpack", serdes::Pack::MsgPack}};
serdes::Pack serdes;
ScenarioPerfClientOptions(
CLI::App& app, const std::string& default_pid_file) :
@ -19,6 +22,9 @@ struct ScenarioPerfClientOptions : public client::PerfOptions
app.add_option("--scenario-file", scenario_file)
->required(true)
->check(CLI::ExistingFile);
app.add_option("--msg-ser-fmt", serdes, "Message serialisation format")
->required()
->transform(CLI::CheckedTransformer(serdes_map, CLI::ignore_case));
}
};
@ -107,7 +113,11 @@ private:
const auto& transaction = transactions[i];
add_prepared_tx(
transaction["method"], transaction["params"], true, std::nullopt);
transaction["method"],
transaction["params"],
true,
std::nullopt,
options.serdes);
}
}
}