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

Unified Diff: tools/perf/benchmarks/indexeddb_perf.py

Issue 1238393003: [IndexedDB] Adding traces, perf tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update Created 5 years, 4 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/benchmarks/indexeddb_perf.py
diff --git a/tools/perf/benchmarks/indexeddb_perf.py b/tools/perf/benchmarks/indexeddb_perf.py
index ae1d435b45e0848efaf4e977bfb259aee76135fa..aa51555ab266b49c3379abe977703eb6175a7740 100644
--- a/tools/perf/benchmarks/indexeddb_perf.py
+++ b/tools/perf/benchmarks/indexeddb_perf.py
@@ -20,19 +20,23 @@ Cursors:
"""
import json
-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.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 +58,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 == true', 600)
cmumford 2015/08/03 17:31:33 Nit: why not just 'window.done'?
dmurph 2015/08/05 15:30:32 ah, true.
self._power_metric.Stop(page, tab)
self._memory_metric.Stop(page, tab)
@@ -82,17 +85,35 @@ class _IndexedDbMeasurement(page_test.PageTest):
memory.MemoryMetric.CustomizeBrowserOptions(options)
power.PowerMetric.CustomizeBrowserOptions(options)
+
class IndexedDb(perf_benchmark.PerfBenchmark):
"""Chromium's IndexedDB Performance tests."""
test = _IndexedDbMeasurement
+ page_set = page_sets.IndexedDBEndurePageSet
@classmethod
def Name(cls):
return 'indexeddb_perf'
- def CreateStorySet(self, options):
- indexeddb_dir = os.path.join(util.GetChromiumSrcDir(), 'chrome', 'test',
- 'data', 'indexeddb')
- ps = story.StorySet(base_dir=indexeddb_dir)
- ps.AddStory(page_module.Page('file://perf_test.html', ps, ps.base_dir))
- return ps
+
+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'
+
+ @classmethod
+ def ValueCanBeAddedPredicate(cls, value, is_first_result):
+ if 'idb' not in value.name:
cmumford 2015/08/03 17:31:34 This logic makes me think way too much. Why not ju
dmurph 2015/08/05 15:30:32 Done.
+ return False
+ return True

Powered by Google App Engine
This is Rietveld 408576698