| Index: dashboard/dashboard/speed_releasing.py
|
| diff --git a/dashboard/dashboard/speed_releasing.py b/dashboard/dashboard/speed_releasing.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0ea30c2c72f2310c073874be342fe3bb91888ee1
|
| --- /dev/null
|
| +++ b/dashboard/dashboard/speed_releasing.py
|
| @@ -0,0 +1,181 @@
|
| +# Copyright 2016 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +"""Provides the web interface for a set of alerts and their graphs."""
|
| +
|
| +import json
|
| +
|
| +# from google.appengine.ext import ndb
|
| +
|
| +# from dashboard import alerts
|
| +# from dashboard import chart_handler
|
| +# from dashboard import list_tests
|
| +from dashboard import update_test_suites
|
| +from dashboard.common import request_handler
|
| +# from dashboard.common import utils
|
| +# from dashboard.models import anomaly
|
| +# from dashboard.models import stoppage_alert
|
| +
|
| +MILESTONES = {
|
| + 44: 330231,
|
| + 45: 338390,
|
| + 46: 344925,
|
| + 47: 352221,
|
| + 48: 359700,
|
| + 49: 370022,
|
| + 50: 378097,
|
| + 51: 388729, # Punted to the switch from 10 to 5 iterations, crbug.com/605834
|
| + 52: (395419, # Punted to the fix of crbug.com/612470
|
| + 403382),
|
| + 53: (405099, # Punted to WPR recordings refresh, crbug.com/631437
|
| + 413836), # Before regression in crbug.com/640527 (fix cherry-picked)
|
| + 54: 416640, # Low end devices replaced with Android One crbug.com/644718
|
| + 55: 423768,
|
| + 56: 433391, # Punted to get data after fix of crbug.com/666197
|
| +}
|
| +CURRENT_MILESTONE = max(MILESTONES.iterkeys())
|
| +
|
| +class SpeedReleasingHandler(request_handler.RequestHandler):
|
| + """Request handler for requests for speed releasing page."""
|
| +
|
| + def get(self):
|
| + """Renders the UI for the speed releasing page."""
|
| + self.RenderStaticHtml('speed_releasing.html')
|
| +
|
| + def post(self):
|
| + """Returns dynamic data for /group_report with some set of alerts.
|
| +
|
| + The set of alerts is determined by the keys, bug ID or revision given.
|
| +
|
| + Request parameters:
|
| + keys: A comma-separated list of urlsafe Anomaly keys (optional).
|
| + bug_id: A bug number on the Chromium issue tracker (optional).
|
| + rev: A revision number (optional).
|
| +
|
| + Outputs:
|
| + JSON for the /group_report page XHR request.
|
| + """
|
| + values = {}
|
| + test_suites = _BuildSuites()
|
| + # filtered = {}
|
| + # for suite in test_suites:
|
| + # # print suite
|
| + # print next(iter(test_suites[suite]['mas']))
|
| + # if next(iter(test_suites[suite]['mas'])) == 'ChromiumPerf' or next(iter(test_suites[suite]['mas'])) == 'ChromiumPerfFyi':
|
| + # print test_suites[suite]['mas']
|
| + # filtered[suite] = test_suites[suite]
|
| + # print filtered
|
| + self.GetDynamicVariables(values)
|
| + self.response.out.write(json.dumps({
|
| + 'is_internal_user': values['is_internal_user'],
|
| + 'login_url': values['login_url'],
|
| + # 'revision_info': values['revision_info'],
|
| + # 'warning_bug': values['warning_bug'],
|
| + # 'warning_message': values['warning_message'],
|
| + 'xsrf_token': values['xsrf_token'],
|
| + 'test_suites': test_suites,
|
| + }))
|
| +
|
| +
|
| +
|
| +def _BuildSuites():
|
| + """Does some things."""
|
| + suites = {}
|
| +
|
| + # We know the master (chromiumperf and chromiumperffyi)
|
| + # We need the test suite (get all TMd and sort for _max etc??)
|
| + # We can get the bot options from this
|
| + # We can get revision options from the rows we get back when q'ing w/ TMd
|
| + # From here we will have the correct rows that we can use to fill the table
|
| + suites['memory.top_10_mobile'] = {}
|
| + suites['memory.top_10_mobile']['mas'] = {}
|
| + suites['memory.top_10_mobile']['mas']['ChromiumPerf'] = {}
|
| + suites['memory.top_10_mobile']['mas']['ChromiumPerf'] = {'android-nexus6': False}
|
| + suites['memory.top_10_mobile']['des'] = 'hello1'
|
| + suites['memory.top_10_mobile']['dep'] = False
|
| + print suites
|
| +
|
| + return suites
|
| +
|
| + # {'longevity_Tracker': {'mas': {'ChromeOS_Enterprise':
|
| + # {'cros-zako': False}}},
|
| + # 'media.tough_video_cases_extra':
|
| + # {'mas': {'ChromiumPerfFyi': {'chromium-win-clang': False,
|
| + # 'chromium-rel-win7-gpu-intel': False, 'chromium-win-clang-ref':
|
| + # False}, 'ChromiumPerf': {'chromium-rel-win7-x64-dual': False,
|
| + # 'chromium-rel-win7-gpu-intel': False,
|
| + # 'chromium-rel-win7-gpu-nvidia': False, 'chromium-rel-mac-hdd':
|
| + # False, 'chromium-rel-win7-gpu-ati': False,
|
| + # 'chromium-rel-mac-retina': False, 'chromium-rel-win7-dual':
|
| + # False, 'chromium-rel-mac11': False, 'chromium-rel-mac10':
|
| + # False, 'win-zenbook': False, 'linux-release': False,
|
| + # 'chromium-rel-win7-single': False, 'chromium-rel-win10': False}},
|
| + # 'des': u'Obtains extra media metrics for key user scenarios.',
|
| + # 'mon': ['avg_loop_time',
|
| + # 'avg_loop_time/audio_playback.html?id_mixed_audio',
|
| + # 'avg_loop_time/audio_playback.html?id_mixed_audio_ref',
|
| + # 'avg_loop_time/audio_playback.html?id_single_audio',
|
| + # 'avg_loop_time/audio_playback.html?id_single_audio_ref',
|
| + # 'avg_loop_time/mixed_audio', 'avg_loop_time/mixed_audio_ref',
|
| + # 'avg_loop_time/single_audio', 'avg_loop_time/single_audio_ref',
|
| + # 'seek', 'seek/crowd1080_vp9.webm_seek_cold',
|
| + # 'seek/crowd1080_vp9.webm_seek_cold_ref',
|
| + # 'seek/crowd1080_vp9.webm_seek_warm',
|
| + # 'seek/crowd1080_vp9.webm_seek_warm_ref',
|
| + # 'seek/crowd720_vp9.webm_seek_cold',
|
| + # 'seek/crowd720_vp9.webm_seek_cold_ref',
|
| + # 'seek/crowd720_vp9.webm_seek_warm',
|
| + # 'seek/crowd720_vp9.webm_seek_warm_ref',
|
| + # 'seek/garden2_10s.mp4_seek_cold',
|
| + # 'seek/garden2_10s.mp4_seek_cold_ref',
|
| + # 'seek/garden2_10s.mp4_seek_warm',
|
| + # 'seek/garden2_10s.mp4_seek_warm_ref',
|
| + # 'seek/garden2_10s.ogv_seek_cold',
|
| + # 'seek/garden2_10s.ogv_seek_cold_ref',
|
| + # 'seek/garden2_10s.ogv_seek_warm',
|
| + # 'seek/garden2_10s.ogv_seek_warm_ref',
|
| + # 'seek/garden2_10s.webm_seek_cold',
|
| + # 'seek/garden2_10s.webm_seek_cold_ref',
|
| + # 'seek/garden2_10s.webm_seek_warm',
|
| + # 'seek/garden2_10s.webm_seek_warm_ref',
|
| + # 'seek/tulip2.mp3_seek_cold', 'seek/tulip2.mp3_seek_cold_ref',
|
| + # 'seek/tulip2.mp3_seek_warm', 'seek/tulip2.mp3_seek_warm_ref',
|
| + # 'seek/tulip2.mp4_seek_cold', 'seek/tulip2.mp4_seek_cold_ref',
|
| + # 'seek/tulip2.mp4_seek_warm', 'seek/tulip2.mp4_seek_warm_ref',
|
| + # 'seek/tulip2.ogg_seek_cold', 'seek/tulip2.ogg_seek_cold_ref',
|
| + # 'seek/tulip2.ogg_seek_warm', 'seek/tulip2.ogg_seek_warm_ref',
|
| + # 'seek/tulip2.ogv_seek_cold', 'seek/tulip2.ogv_seek_cold_ref',
|
| + # 'seek/tulip2.ogv_seek_warm', 'seek/tulip2.ogv_seek_warm_ref',
|
| + # 'seek/tulip2.vp9.webm_seek_cold',
|
| + # 'seek/tulip2.vp9.webm_seek_cold_ref',
|
| + # 'seek/tulip2.vp9.webm_seek_warm',
|
| + # 'seek/tulip2.vp9.webm_seek_warm_ref',
|
| + # 'seek/tulip2.wav_seek_cold', 'seek/tulip2.wav_seek_cold_ref',
|
| + # 'seek/tulip2.wav_seek_warm', 'seek/tulip2.wav_seek_warm_ref',
|
| + # 'seek/tulip2.webm_seek_cold', 'seek/tulip2.webm_seek_cold_ref',
|
| + # 'seek/tulip2.webm_seek_warm', 'seek/tulip2.webm_seek_warm_ref',
|
| + # 'seek/video.html?src_crowd1080_vp9.webm',
|
| + # 'seek/video.html?src_crowd1080_vp9.webm_ref',
|
| + # 'seek/video.html?src_crowd720_vp9.webm',
|
| + # 'seek/video.html?src_crowd720_vp9.webm_ref',
|
| + # 'seek/video.html?src_garden2_10s.mp4',
|
| + # 'seek/video.html?src_garden2_10s.mp4_ref',
|
| + # 'seek/video.html?src_garden2_10s.ogv',
|
| + # 'seek/video.html?src_garden2_10s.ogv_ref',
|
| + # 'seek/video.html?src_garden2_10s.webm',
|
| + # 'seek/video.html?src_garden2_10s.webm_ref',
|
| + # 'seek/video.html?src_tulip2.mp3_type_audio',
|
| + # 'seek/video.html?src_tulip2.mp3_type_audio_ref',
|
| + # 'seek/video.html?src_tulip2.mp4',
|
| + # 'seek/video.html?src_tulip2.mp4_ref',
|
| + # 'seek/video.html?src_tulip2.ogg_type_audio',
|
| + # 'seek/video.html?src_tulip2.ogg_type_audio_ref',
|
| + # 'seek/video.html?src_tulip2.ogv',
|
| + # 'seek/video.html?src_tulip2.ogv_ref',
|
| + # 'seek/video.html?src_tulip2.vp9.webm',
|
| + # 'seek/video.html?src_tulip2.vp9.webm_ref',
|
| + # 'seek/video.html?src_tulip2.wav_type_audio',
|
| + # 'seek/video.html?src_tulip2.wav_type_audio_ref',
|
| + # 'seek/video.html?src_tulip2.webm',
|
| + # 'seek/video.html?src_tulip2.webm_ref']}
|
|
|