Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2964)

Unified Diff: appengine/findit/handlers/flake/list_flakes.py

Issue 2546433003: [Findit] Query master flake analyses 100 at a time and add previous/next buttons to check flake dash (Closed)
Patch Set: Addressing comments Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | appengine/findit/handlers/flake/test/list_flakes_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: appengine/findit/handlers/flake/list_flakes.py
diff --git a/appengine/findit/handlers/flake/list_flakes.py b/appengine/findit/handlers/flake/list_flakes.py
index 3d59574e65c2efd8fb5f304a88b6e487bfbd95c8..d6bae3fa5c444d7a88cf91a98c01766964668c47 100644
--- a/appengine/findit/handlers/flake/list_flakes.py
+++ b/appengine/findit/handlers/flake/list_flakes.py
@@ -14,10 +14,13 @@ from model import result_status
from model.flake.master_flake_analysis import MasterFlakeAnalysis
+PAGE_SIZE = 100
+
+
def FilterMasterFlakeAnalysis(
master_flake_analysis_query, master_name=None, builder_name=None,
build_number=None, step_name=None, test_name=None, start_date=None,
- end_date=None, status_code=result_status.UNSPECIFIED):
+ end_date=None, status_code=result_status.UNSPECIFIED, offset=0):
stgao 2016/12/01 18:26:06 We'd better use cursor instead of offset for perfo
if master_name:
master_flake_analysis_query = master_flake_analysis_query.filter(
MasterFlakeAnalysis.master_name == master_name)
@@ -44,7 +47,12 @@ def FilterMasterFlakeAnalysis(
MasterFlakeAnalysis.result_status == status_code)
master_flake_analysis_query.order(-MasterFlakeAnalysis.request_time)
- return master_flake_analysis_query.fetch()
+
+ # TODO(lijeffrey): use cursor instead of offset.
+ analyses, _, more = master_flake_analysis_query.fetch_page(
+ PAGE_SIZE, offset=offset)
+
+ return analyses, more
class ListFlakes(BaseHandler):
@@ -79,14 +87,15 @@ class ListFlakes(BaseHandler):
step_name = self.request.get('step_name').strip()
test_name = self.request.get('test_name').strip()
triage = self.request.get('triage') == '1'
+ offset = int(self.request.get('offset', '0').strip())
# Only allow querying by start/end dates for admins during triage to avoid
# overcomplicating the UI for other users.
start_date, end_date = self._GetStartAndEndDates(triage)
- master_flake_analyses = FilterMasterFlakeAnalysis(
+ master_flake_analyses, more = FilterMasterFlakeAnalysis(
MasterFlakeAnalysis.query(), master_name, builder_name, build_number,
- step_name, test_name, start_date, end_date, status_code)
+ step_name, test_name, start_date, end_date, status_code, offset)
data = {
'master_flake_analyses': [],
@@ -95,7 +104,10 @@ class ListFlakes(BaseHandler):
'builder_name_filter': builder_name,
'build_number_filter': build_number,
'step_name_filter': step_name,
- 'test_name_filter': test_name
+ 'test_name_filter': test_name,
+ 'page_size': PAGE_SIZE,
+ 'offset': offset,
+ 'more': more,
}
if triage: # pragma: no cover
« no previous file with comments | « no previous file | appengine/findit/handlers/flake/test/list_flakes_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698