Commit 043555c4 authored by Ned Nguyen's avatar Ned Nguyen Committed by Commit Bot

Plumb build bot status url to perf dashboard data

Bug: 884961
Cq-Include-Trybots: master.tryserver.chromium.perf:obbs_fyi
Change-Id: I4c0bbf99bf369e53f19b0566a8eac68636c69153
Reviewed-on: https://chromium-review.googlesource.com/1256009
Commit-Queue: Ned Nguyen <nednguyen@google.com>
Reviewed-by: default avatarJohn Budorick <jbudorick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595720}
parent 17481350
......@@ -141,6 +141,7 @@ def SendResults(data, data_label, url, send_as_histograms=False,
def MakeHistogramSetWithDiagnostics(histograms_file,
test_name, bot, buildername, buildnumber,
project, buildbucket,
revisions_dict, is_reference_build,
perf_dashboard_machine_group):
add_diagnostics_args = []
......@@ -152,10 +153,16 @@ def MakeHistogramSetWithDiagnostics(histograms_file,
'--is_reference_build', 'true' if is_reference_build else '',
])
url = _MakeStdioUrl(test_name, buildername, buildnumber)
if url:
stdio_url = _MakeStdioUrl(test_name, buildername, buildnumber)
if stdio_url:
add_diagnostics_args.extend(['--log_urls_k', 'Buildbot stdio'])
add_diagnostics_args.extend(['--log_urls_v', url])
add_diagnostics_args.extend(['--log_urls_v', stdio_url])
build_status_url = _MakeBuildStatusUrl(
project, buildbucket, buildername, buildnumber)
if build_status_url:
add_diagnostics_args.extend(['--build_urls_k', 'Build Status'])
add_diagnostics_args.extend(['--build_urls_v', build_status_url])
for k, v in revisions_dict.iteritems():
add_diagnostics_args.extend((k, v))
......@@ -319,6 +326,18 @@ def _MakeStdioUrl(test_name, buildername, buildnumber):
urllib.quote(test_name))
def _MakeBuildStatusUrl(project, buildbucket, buildername, buildnumber):
# Note: this construction only works for LUCI but it's ok because we are
# converting all perf bots to LUCI (crbug.com/803137).
if not (project and buildbucket and buildnumber and buildnumber):
return None
return 'https://ci.chromium.org/p/%s/builders/%s/%s/%s' % (
urllib.quote(project),
urllib.quote(buildbucket),
urllib.quote(buildername),
urllib.quote(str(buildnumber)))
def _GetStdioUriColumn(test_name, buildername, buildnumber):
"""Gets a supplemental column containing buildbot stdio link."""
url = _MakeStdioUrl(test_name, buildername, buildnumber)
......
......@@ -75,9 +75,11 @@ def _GetDashboardHistogramData(options):
begin_time = time.time()
hs = results_dashboard.MakeHistogramSetWithDiagnostics(
options.results_file, stripped_test_name,
options.configuration_name, options.buildername, options.buildnumber,
revisions, is_reference_build,
histograms_file=options.results_file, test_name=stripped_test_name,
bot=options.configuration_name, buildername=options.buildername,
buildnumber=options.buildnumber,
project=options.project, buildbucket=options.buildbucket,
revisions_dict=revisions, is_reference_build=is_reference_build,
perf_dashboard_machine_group=options.perf_dashboard_machine_group)
end_time = time.time()
print 'Duration of adding diagnostics for %s: %d seconds' % (
......@@ -94,6 +96,8 @@ def _CreateParser():
parser.add_option('--configuration-name')
parser.add_option('--results-url')
parser.add_option('--perf-dashboard-machine-group')
parser.add_option('--project')
parser.add_option('--buildbucket')
parser.add_option('--buildername')
parser.add_option('--buildnumber')
parser.add_option('--got-webrtc-revision')
......
......@@ -86,6 +86,12 @@ def _upload_perf_results(json_to_upload, name, configuration_name,
buildbucket['build'].get('bucket') == 'luci.chrome.ci'):
is_luci = True
if 'build' in buildbucket:
args += [
'--project', buildbucket['build'].get('project'),
'--buildbucket', buildbucket['build'].get('bucket'),
]
if service_account_file and not is_luci:
args += ['--service-account-file', service_account_file]
......
......@@ -82,6 +82,7 @@ class ProcessPerfResultsIntegrationTest(unittest.TestCase):
"created_by": "user:foo",
"created_ts": "1535490272757820",
"id": "8936915467712010816",
"project": "chrome",
"lease_key": "461228535",
"tags": ["builder:obbs_fyi", "buildset:patch/1194825/3",
"cq_experimental:False",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment