Chromium Code Reviews| 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']) |