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

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

Issue 2106133002: Port oortonline_tbm to TBMv2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: x Created 4 years, 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/benchmarks/oortonline.py
diff --git a/tools/perf/benchmarks/oortonline.py b/tools/perf/benchmarks/oortonline.py
index ba6eb3afe61738d71555fb1bab3b1a56e9a4c72e..b13eb1c2d7fd7b324b982f8befd6c34b7f51cfda 100644
--- a/tools/perf/benchmarks/oortonline.py
+++ b/tools/perf/benchmarks/oortonline.py
@@ -2,6 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import re
+
import page_sets
from core import perf_benchmark
@@ -11,9 +13,6 @@ from telemetry.value import scalar
from telemetry.value import improvement_direction
from telemetry.timeline import tracing_category_filter
from telemetry.web_perf import timeline_based_measurement
-from telemetry.web_perf.metrics import v8_gc_latency
-from telemetry.web_perf.metrics import smoothness
-from telemetry.web_perf.metrics import memory_timeline
class _OortOnlineMeasurement(legacy_page_test.LegacyPageTest):
@@ -53,12 +52,20 @@ class OortOnline(perf_benchmark.PerfBenchmark):
# Tracing.requestMemoryDump DevTools API. See http://crbug.com/540022.
@benchmark.Disabled('reference')
@benchmark.Disabled('android')
-class OortOnlineTBM(perf_benchmark.PerfBenchmark):
+class OortOnlineTBMv2(perf_benchmark.PerfBenchmark):
"""OortOnline benchmark that measures WebGL and V8 performance.
URL: http://oortonline.gl/#run
Info: http://v8project.blogspot.de/2015/10/jank-busters-part-one.html
"""
+ # Report only V8-specific and overall renderer memory values. Note that
+ # detailed values reported by the OS (such as native heap) are excluded.
+ _V8_AND_OVERALL_MEMORY_RE = re.compile(
+ r'renderer_processes:'
+ r'(reported_by_chrome:v8|reported_by_os:system_memory:[^:]+$)')
+
+ page_set = page_sets.OortOnlineTBMPageSet
+
def SetExtraBrowserOptions(self, options):
options.AppendExtraBrowserArgs([
# TODO(perezju): Temporary workaround to disable periodic memory dumps.
@@ -66,33 +73,28 @@ class OortOnlineTBM(perf_benchmark.PerfBenchmark):
'--enable-memory-benchmarking',
])
- def CreateStorySet(self, options):
- return page_sets.OortOnlineTBMPageSet()
-
def CreateTimelineBasedMeasurementOptions(self):
- v8_gc_latency_categories = [
- 'blink.console', 'renderer.scheduler', 'v8', 'webkit.console']
+ v8_categories = [
petrcermak 2016/06/29 14:48:18 does it still make sense to write the categories l
ulan 2016/06/29 15:38:21 Done.
+ 'blink.console', 'disabled-by-default-v8.gc',
+ 'renderer.scheduler', 'v8', 'webkit.console']
smoothness_categories = [
'webkit.console', 'blink.console', 'benchmark', 'trace_event_overhead']
- categories = list(set(v8_gc_latency_categories + smoothness_categories))
- memory_categories = 'blink.console,disabled-by-default-memory-infra'
+ memory_categories = ['blink.console', 'disabled-by-default-memory-infra']
category_filter = tracing_category_filter.TracingCategoryFilter(
- memory_categories)
- for category in categories:
- category_filter.AddIncludedCategory(category)
+ ','.join(['-*'] + v8_categories +
+ smoothness_categories + memory_categories))
options = timeline_based_measurement.Options(category_filter)
- options.SetLegacyTimelineBasedMetrics([v8_gc_latency.V8GCLatency(),
- smoothness.SmoothnessMetric(),
- memory_timeline.MemoryTimelineMetric()])
+ options.SetTimelineBasedMetric('v8AndMemoryAndResponsivenessMetrics')
return options
@classmethod
def Name(cls):
- return 'oortonline_tbm'
+ return 'oortonline_tbmv2'
@classmethod
- def ValueCanBeAddedPredicate(cls, value, is_first_result):
- if value.tir_label in ['Begin', 'End']:
- return value.name.startswith('memory_') and 'v8_renderer' in value.name
- else:
- return value.tir_label == 'Running'
+ def ValueCanBeAddedPredicate(cls, value, _):
+ if 'memory:chrome' in value.name:
+ return bool(cls._V8_AND_OVERALL_MEMORY_RE.search(value.name))
+ return ('v8' in value.name or
+ value.name in ['animation throughput',
+ 'animation frameTimeDiscrepancy'])
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698