aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@users.noreply.github.com>2016-05-22 21:17:08 -0400
committerGravatar Jan Tattermusch <jtattermusch@users.noreply.github.com>2016-05-22 21:17:08 -0400
commitb90e6c9b4aec2177994a7400f888972298032ad8 (patch)
tree2ef11be0a904fbe6c0cfbaaee9d3f3bec8ed316f /test
parent336292d2f38b9883e2002f1f1c89704b971d62a6 (diff)
parentbd24a4611f1a827f2da050c8bf6bf4f9216c9aae (diff)
Merge pull request #6670 from ctiller/guess_cpu
Better guesses at benchmarks turned unit tests cpu cost
Diffstat (limited to 'test')
-rwxr-xr-xtest/cpp/qps/gen_build_yaml.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/test/cpp/qps/gen_build_yaml.py b/test/cpp/qps/gen_build_yaml.py
index 6b3329b046..e8ad74f0f6 100755
--- a/test/cpp/qps/gen_build_yaml.py
+++ b/test/cpp/qps/gen_build_yaml.py
@@ -46,6 +46,24 @@ import performance.scenario_config as scenario_config
def _scenario_json_string(scenario_json):
return json.dumps(scenario_config.remove_nonproto_fields(scenario_json))
+def threads_of_type(scenario_json, path):
+ d = scenario_json
+ for el in path.split('/'):
+ if el not in d:
+ return 0
+ d = d[el]
+ return d
+
+def guess_cpu(scenario_json):
+ client = threads_of_type(scenario_json, 'client_config/async_client_threads')
+ server = threads_of_type(scenario_json, 'server_config/async_server_threads')
+ # make an arbitrary guess if set to auto-detect
+ # about the size of the jenkins instances we have for unit tests
+ if client == 0: client = 8
+ if server == 0: server = 8
+ return (scenario_json['num_clients'] * client +
+ scenario_json['num_servers'] * server)
+
print yaml.dump({
'tests': [
{
@@ -59,7 +77,7 @@ print yaml.dump({
'language': 'c++',
'boringssl': True,
'defaults': 'boringssl',
- 'cpu_cost': 1000.0,
+ 'cpu_cost': guess_cpu(scenario_json),
'exclude_configs': []
}
for scenario_json in scenario_config.CXXLanguage().scenarios()