OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Runs Chromium's IndexedDB performance test. These test: | 5 """Runs Chromium's IndexedDB performance test. These test: |
6 | 6 |
7 Databases: | 7 Databases: |
8 create/delete | 8 create/delete |
9 Keys: | 9 Keys: |
10 create/delete | 10 create/delete |
11 Indexes: | 11 Indexes: |
12 create/delete | 12 create/delete |
13 Data access: | 13 Data access: |
14 Random read/write | 14 Random read/write |
15 Read cache | 15 Read cache |
16 Cursors: | 16 Cursors: |
17 Read & random writes | 17 Read & random writes |
18 Walking multiple | 18 Walking multiple |
19 Seeking. | 19 Seeking. |
20 """ | 20 """ |
21 | 21 |
22 import json | 22 import json |
23 import os | 23 import os |
24 | 24 |
25 from core import path_util | 25 from core import path_util |
26 from core import perf_benchmark | 26 from core import perf_benchmark |
27 | 27 |
| 28 from telemetry import benchmark |
28 from telemetry import page as page_module | 29 from telemetry import page as page_module |
29 from telemetry import story | 30 from telemetry import story |
30 from telemetry.page import legacy_page_test | 31 from telemetry.page import legacy_page_test |
31 from telemetry.value import scalar | 32 from telemetry.value import scalar |
32 | 33 |
33 from metrics import memory | 34 from metrics import memory |
34 from metrics import power | 35 from metrics import power |
35 | 36 |
36 import page_sets | 37 import page_sets |
37 | 38 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 | 85 |
85 total += msec | 86 total += msec |
86 results.AddValue(scalar.ScalarValue( | 87 results.AddValue(scalar.ScalarValue( |
87 results.current_page, 'Total Perf', 'ms', total)) | 88 results.current_page, 'Total Perf', 'ms', total)) |
88 | 89 |
89 def CustomizeBrowserOptions(self, options): | 90 def CustomizeBrowserOptions(self, options): |
90 memory.MemoryMetric.CustomizeBrowserOptions(options) | 91 memory.MemoryMetric.CustomizeBrowserOptions(options) |
91 power.PowerMetric.CustomizeBrowserOptions(options) | 92 power.PowerMetric.CustomizeBrowserOptions(options) |
92 | 93 |
93 | 94 |
| 95 @benchmark.Disabled('linux') # crbug.com/677972 |
94 class IndexedDbOriginal(perf_benchmark.PerfBenchmark): | 96 class IndexedDbOriginal(perf_benchmark.PerfBenchmark): |
95 """Chromium's IndexedDB Performance tests.""" | 97 """Chromium's IndexedDB Performance tests.""" |
96 test = _IndexedDbMeasurement | 98 test = _IndexedDbMeasurement |
97 | 99 |
98 @classmethod | 100 @classmethod |
99 def Name(cls): | 101 def Name(cls): |
100 return 'indexeddb_perf' | 102 return 'indexeddb_perf' |
101 | 103 |
102 def CreateStorySet(self, options): | 104 def CreateStorySet(self, options): |
103 indexeddb_dir = os.path.join(path_util.GetChromiumSrcDir(), 'chrome', | 105 indexeddb_dir = os.path.join(path_util.GetChromiumSrcDir(), 'chrome', |
104 'test', 'data', 'indexeddb') | 106 'test', 'data', 'indexeddb') |
105 ps = story.StorySet(base_dir=indexeddb_dir) | 107 ps = story.StorySet(base_dir=indexeddb_dir) |
106 ps.AddStory(page_module.Page('file://perf_test.html', ps, ps.base_dir)) | 108 ps.AddStory(page_module.Page('file://perf_test.html', ps, ps.base_dir)) |
107 return ps | 109 return ps |
108 | 110 |
109 | 111 |
| 112 @benchmark.Disabled('linux') # crbug.com/677972 |
110 class IndexedDbOriginalSectioned(perf_benchmark.PerfBenchmark): | 113 class IndexedDbOriginalSectioned(perf_benchmark.PerfBenchmark): |
111 """Chromium's IndexedDB Performance tests.""" | 114 """Chromium's IndexedDB Performance tests.""" |
112 test = _IndexedDbMeasurement | 115 test = _IndexedDbMeasurement |
113 page_set = page_sets.IndexedDBEndurePageSet | 116 page_set = page_sets.IndexedDBEndurePageSet |
114 | 117 |
115 @classmethod | 118 @classmethod |
116 def Name(cls): | 119 def Name(cls): |
117 return 'storage.indexeddb_endure' | 120 return 'storage.indexeddb_endure' |
118 | 121 |
119 | 122 |
| 123 @benchmark.Disabled('linux') # crbug.com/677972 |
120 class IndexedDbTracing(perf_benchmark.PerfBenchmark): | 124 class IndexedDbTracing(perf_benchmark.PerfBenchmark): |
121 """IndexedDB Performance tests that use tracing.""" | 125 """IndexedDB Performance tests that use tracing.""" |
122 page_set = page_sets.IndexedDBEndurePageSet | 126 page_set = page_sets.IndexedDBEndurePageSet |
123 | 127 |
124 def CreateTimelineBasedMeasurementOptions(self): | 128 def CreateTimelineBasedMeasurementOptions(self): |
125 cat_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter() | 129 cat_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter() |
126 cat_filter.AddIncludedCategory(IDB_CATEGORY) | 130 cat_filter.AddIncludedCategory(IDB_CATEGORY) |
127 cat_filter.AddIncludedCategory(TIMELINE_REQUIRED_CATEGORY) | 131 cat_filter.AddIncludedCategory(TIMELINE_REQUIRED_CATEGORY) |
128 | 132 |
129 return timeline_based_measurement.Options( | 133 return timeline_based_measurement.Options( |
130 overhead_level=cat_filter) | 134 overhead_level=cat_filter) |
131 | 135 |
132 @classmethod | 136 @classmethod |
133 def Name(cls): | 137 def Name(cls): |
134 return 'storage.indexeddb_endure_tracing' | 138 return 'storage.indexeddb_endure_tracing' |
135 | 139 |
136 @classmethod | 140 @classmethod |
137 def ValueCanBeAddedPredicate(cls, value, is_first_result): | 141 def ValueCanBeAddedPredicate(cls, value, is_first_result): |
138 return 'idb' in value.name | 142 return 'idb' in value.name |
OLD | NEW |