Index: tools/perf/benchmarks/indexeddb_perf.py |
diff --git a/tools/perf/benchmarks/indexeddb_perf.py b/tools/perf/benchmarks/indexeddb_perf.py |
index ae1d435b45e0848efaf4e977bfb259aee76135fa..6ebdfd38f8d76c51f316386ecb65653637fe79df 100644 |
--- a/tools/perf/benchmarks/indexeddb_perf.py |
+++ b/tools/perf/benchmarks/indexeddb_perf.py |
@@ -24,15 +24,23 @@ import os |
from core import perf_benchmark |
-from telemetry.core import util |
from telemetry import page as page_module |
-from telemetry.page import page_test |
from telemetry import story |
+from telemetry.core import util |
+from telemetry.page import page_test |
from telemetry.value import scalar |
from metrics import memory |
from metrics import power |
+import page_sets |
+ |
+from telemetry.timeline import tracing_category_filter |
+from telemetry.web_perf import timeline_based_measurement |
+ |
+ |
+IDB_CATEGORY = 'IndexedDB' |
+TIMELINE_REQUIRED_CATEGORY = 'blink.console' |
class _IndexedDbMeasurement(page_test.PageTest): |
def __init__(self): |
@@ -54,8 +62,7 @@ class _IndexedDbMeasurement(page_test.PageTest): |
def ValidateAndMeasurePage(self, page, tab, results): |
tab.WaitForDocumentReadyStateToBeComplete() |
- tab.WaitForJavaScriptExpression( |
- 'window.document.cookie.indexOf("__done=1") >= 0', 600) |
+ tab.WaitForJavaScriptExpression('window.done', 600) |
self._power_metric.Stop(page, tab) |
self._memory_metric.Stop(page, tab) |
@@ -82,7 +89,8 @@ class _IndexedDbMeasurement(page_test.PageTest): |
memory.MemoryMetric.CustomizeBrowserOptions(options) |
power.PowerMetric.CustomizeBrowserOptions(options) |
-class IndexedDb(perf_benchmark.PerfBenchmark): |
+ |
+class IndexedDbOriginal(perf_benchmark.PerfBenchmark): |
"""Chromium's IndexedDB Performance tests.""" |
test = _IndexedDbMeasurement |
@@ -96,3 +104,34 @@ class IndexedDb(perf_benchmark.PerfBenchmark): |
ps = story.StorySet(base_dir=indexeddb_dir) |
ps.AddStory(page_module.Page('file://perf_test.html', ps, ps.base_dir)) |
return ps |
+ |
+ |
+class IndexedDbOriginalSectioned(perf_benchmark.PerfBenchmark): |
+ """Chromium's IndexedDB Performance tests.""" |
+ test = _IndexedDbMeasurement |
+ page_set = page_sets.IndexedDBEndurePageSet |
+ |
+ @classmethod |
+ def Name(cls): |
+ return 'storage.indexeddb_endure' |
+ |
+ |
+class IndexedDbTracing(perf_benchmark.PerfBenchmark): |
+ """IndexedDB Performance tests that use tracing.""" |
+ page_set = page_sets.IndexedDBEndurePageSet |
+ |
+ def CreateTimelineBasedMeasurementOptions(self): |
+ cat_filter = tracing_category_filter.CreateMinimalOverheadFilter() |
+ cat_filter.AddIncludedCategory(IDB_CATEGORY) |
+ cat_filter.AddIncludedCategory(TIMELINE_REQUIRED_CATEGORY) |
+ |
+ return timeline_based_measurement.Options( |
+ overhead_level=cat_filter) |
+ |
+ @classmethod |
+ def Name(cls): |
+ return 'storage.indexeddb_endure_tracing' |
+ |
+ @classmethod |
+ def ValueCanBeAddedPredicate(cls, value, is_first_result): |
+ return 'idb' in value.name |