1 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 """The Endure benchmarks measure memory performance over a period of time. 6 7 In each Endure benchmark, one page action is performed repeatedly and memory 8 usage is measured periodically. The specific page actions are defined in the 9 page sets, and the statistics that are gathered are determined by the Endure 10 measurement class. 11 """ 12 13 from telemetry import test 14 15 from measurements import endure 16 import page_sets 17 18 19 class _EndureBenchmark(test.Test): 20 """Base class which sets options for endure benchmarks below.""" 21 test = endure.Endure 22 # Default options for endure benchmarks. Could be overridden in subclasses. 23 options = { 24 # Depending on the page and the actions performed on the page, 25 # 1000 iterations should be between 30 and 60 minutes. 26 'page_repeat': 1000, 27 # One sample per 10 iterations -> 200 points per run. 28 'perf_stats_interval': 10 29 } 30 31 32 class EndureCalendarForwardBackward(_EndureBenchmark): 33 page_set = page_sets.CalendarForwardBackwardPageSet 34 35 36 class EndureBrowserControl(_EndureBenchmark): 37 page_set = page_sets.BrowserControlPageSet 38 39 40 class EndureBrowserControlClick(_EndureBenchmark): 41 page_set = page_sets.BrowserControlClickPageSet 42 43 44 class EndureGmailAltThreadlistConversation(_EndureBenchmark): 45 page_set = page_sets.GmailAltThreadlistConversationPageSet 46 47 48 class EndureGmailAltTwoLabels(_EndureBenchmark): 49 page_set = page_sets.GmailAltTwoLabelsPageSet 50 51 52 class EndureGmailExpandCollapseConversation(_EndureBenchmark): 53 page_set = page_sets.GmailExpandCollapseConversationPageSet 54 55 56 class EndureIndexedDBOffline(_EndureBenchmark): 57 page_set = page_sets.IndexeddbOfflinePageSet 58 59 60 class EndurePlusAltPostsPhotos(_EndureBenchmark): 61 page_set = page_sets.PlusAltPostsPhotosPageSet 62 63