1424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)# Copyright 2013 The Chromium Authors. All rights reserved. 2424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 3424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)# found in the LICENSE file. 4424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)"""The Endure benchmarks measure memory performance over a period of time. 6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)In each Endure benchmark, one page action is performed repeatedly and memory 8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)usage is measured periodically. The specific page actions are defined in the 9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)page sets, and the statistics that are gathered are determined by the Endure 10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)measurement class. 11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)""" 12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 13424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)from measurements import endure 14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)import page_sets 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdochfrom telemetry import benchmark 16424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 17424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 18116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass _EndureBenchmark(benchmark.Benchmark): 19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) """Base class which sets options for endure benchmarks below.""" 20424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) test = endure.Endure 214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) # Default options for endure benchmarks. Could be overridden in subclasses. 22424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) options = { 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) # Depending on the page and the actions performed on the page, 24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) # 1000 iterations should be between 30 and 60 minutes. 25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 'page_repeat': 1000, 26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) # One sample per 10 iterations -> 200 points per run. 27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 'perf_stats_interval': 10 28424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) } 29424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled 324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class EndureCalendarForwardBackward(_EndureBenchmark): 33f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.CalendarForwardBackwardPageSet 344e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 35424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled 374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class EndureBrowserControl(_EndureBenchmark): 38f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.BrowserControlPageSet 394e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 404e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled 424e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class EndureBrowserControlClick(_EndureBenchmark): 43f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.BrowserControlClickPageSet 444e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 454e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled 474e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class EndureGmailAltThreadlistConversation(_EndureBenchmark): 48f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.GmailAltThreadlistConversationPageSet 49424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 50424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled 524e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class EndureGmailAltTwoLabels(_EndureBenchmark): 53f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.GmailAltTwoLabelsPageSet 54424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 55424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 56116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled 574e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class EndureGmailExpandCollapseConversation(_EndureBenchmark): 58f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.GmailExpandCollapseConversationPageSet 59424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 60424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 61116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled 624e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class EndureIndexedDBOffline(_EndureBenchmark): 63f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.IndexeddbOfflinePageSet 644e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 654e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 66116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled 674e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class EndurePlusAltPostsPhotos(_EndureBenchmark): 68f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.PlusAltPostsPhotosPageSet 69424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 70