| Index: scripts/slave/recipe_modules/perf_try/api.py
|
| diff --git a/scripts/slave/recipe_modules/perf_try/api.py b/scripts/slave/recipe_modules/perf_try/api.py
|
| index 8afc07941938b5b06b01fb8ccd1c1b705b92ffba..3bcc2789c203d84323e0f6258bf27db35468b88a 100644
|
| --- a/scripts/slave/recipe_modules/perf_try/api.py
|
| +++ b/scripts/slave/recipe_modules/perf_try/api.py
|
| @@ -11,7 +11,7 @@ platform for any test that can be run via buildbot, perf or otherwise.
|
| import re
|
|
|
| from recipe_engine import recipe_api
|
| -
|
| +from . import bisect_results_json
|
|
|
| PERF_CONFIG_FILE = 'tools/run-perf-test.cfg'
|
| WEBKIT_PERF_CONFIG_FILE = 'third_party/WebKit/Tools/run-perf-test.cfg'
|
| @@ -89,9 +89,17 @@ class PerfTryJobApi(recipe_api.RecipeApi):
|
| 'profiler_link2': ('%s - Profiler Data' % 'Without Patch'
|
| if r[1] is None else r[1])
|
| }
|
| +
|
| + # TODO(chrisphan): Deprecate this. perf_dashboard.post_bisect below
|
| + # already outputs data in json format.
|
| self._compare_and_present_results(
|
| test_cfg, results_without_patch, results_with_patch, labels)
|
|
|
| + bisect_results = bisect_results_json.get(
|
| + self, test_cfg, results_without_patch, results_with_patch, labels)
|
| + self.m.perf_dashboard.set_default_config()
|
| + self.m.perf_dashboard.post_bisect(bisect_results, halt_on_failure=True)
|
| +
|
| def run_cq_job(self, update_step, master_dict, files_in_patch):
|
| """Runs benchmarks affected by a CL on CQ."""
|
| buildername = self.m.properties['buildername']
|
| @@ -283,8 +291,8 @@ class PerfTryJobApi(recipe_api.RecipeApi):
|
| values_with_patch = results_with_patch.get('results').get('values')
|
| values_without_patch = results_without_patch.get('results').get('values')
|
|
|
| - cloud_links_without_patch = _parse_cloud_links(output_without_patch)
|
| - cloud_links_with_patch = _parse_cloud_links(output_with_patch)
|
| + cloud_links_without_patch = self.parse_cloud_links(output_without_patch)
|
| + cloud_links_with_patch = self.parse_cloud_links(output_with_patch)
|
|
|
| results_link = (cloud_links_without_patch['html'][0]
|
| if cloud_links_without_patch['html'] else '')
|
| @@ -353,17 +361,15 @@ class PerfTryJobApi(recipe_api.RecipeApi):
|
| labels.get('profiler_link2'), i): profiler_without_patch[i]
|
| })
|
|
|
| + def parse_cloud_links(self, output):
|
| + html_results_pattern = re.compile(CLOUD_RESULTS_LINK, re.MULTILINE)
|
| + profiler_pattern = re.compile(PROFILER_RESULTS_LINK, re.MULTILINE)
|
|
|
| -def _parse_cloud_links(output):
|
| - html_results_pattern = re.compile(CLOUD_RESULTS_LINK, re.MULTILINE)
|
| - profiler_pattern = re.compile(PROFILER_RESULTS_LINK, re.MULTILINE)
|
| -
|
| - results = {
|
| - 'html': html_results_pattern.findall(output),
|
| - 'profiler': profiler_pattern.findall(output),
|
| - }
|
| -
|
| - return results
|
| + results = {
|
| + 'html': html_results_pattern.findall(output),
|
| + 'profiler': profiler_pattern.findall(output),
|
| + }
|
| + return results
|
|
|
|
|
| def _validate_perf_config(config_contents, required_parameters):
|
|
|