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

Unified Diff: tools/perf/page_sets/page_reload_cases.py

Issue 930333002: [telemetry] Add new measurement that counts number of GCs needed to free V8 context. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments from Ross Created 5 years, 10 months 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
Index: tools/perf/page_sets/page_reload_cases.py
diff --git a/tools/perf/page_sets/page_reload_cases.py b/tools/perf/page_sets/page_reload_cases.py
new file mode 100644
index 0000000000000000000000000000000000000000..25eeb24a616958d57f87e9bf498c5cb2629e70d6
--- /dev/null
+++ b/tools/perf/page_sets/page_reload_cases.py
@@ -0,0 +1,54 @@
+# Copyright 2015 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.
+from telemetry.page import page as page_module
+from telemetry.page import page_set as page_set_module
+
+from page_sets import top_pages
+
+
+def _Reload(action_runner):
+ # Numbers below are chosen arbitrarily. For the V8DetachedContextAgeInGC
+ # the number of reloads should be high enough so that V8 could do few
+ # incremeantal GCs.
+ NUMBER_OF_RELOADS = 7
+ WAIT_TIME = 2
+ for _ in xrange(NUMBER_OF_RELOADS):
+ action_runner.ReloadPage()
+ action_runner.Wait(WAIT_TIME)
+
+
+def _CreatePageClassWithReload(page_cls):
+ class DerivedSmoothPage(page_cls): # pylint: disable=W0232
+
+ def RunPageInteractions(self, action_runner):
+ _Reload(action_runner)
+ return DerivedSmoothPage
+
+
+class PageReloadCasesPageSet(page_set_module.PageSet):
+
+ """ Pages for testing GC efficiency on page reload. """
+
+ def __init__(self):
+ super(PageReloadCasesPageSet, self).__init__(
+ user_agent_type='desktop',
+ archive_data_file='data/top_25.json',
+ bucket=page_set_module.PARTNER_BUCKET)
+
+ self.AddUserStory(_CreatePageClassWithReload(
+ top_pages.GoogleWebSearchPage)(self))
+ self.AddUserStory(_CreatePageClassWithReload(
+ top_pages.GmailPage)(self))
+ self.AddUserStory(_CreatePageClassWithReload(
+ top_pages.GoogleCalendarPage)(self))
+ self.AddUserStory(_CreatePageClassWithReload(
+ top_pages.GoogleDocPage)(self))
+ self.AddUserStory(_CreatePageClassWithReload(
+ top_pages.GooglePlusPage)(self))
+ self.AddUserStory(_CreatePageClassWithReload(
+ top_pages.YoutubePage)(self))
+ self.AddUserStory(_CreatePageClassWithReload(
+ top_pages.WordpressPage)(self))
+ self.AddUserStory(_CreatePageClassWithReload(
+ top_pages.FacebookPage)(self))

Powered by Google App Engine
This is Rietveld 408576698