Chromium Code Reviews| Index: tools/perf/benchmarks/blink_perf.py |
| diff --git a/tools/perf/benchmarks/blink_perf.py b/tools/perf/benchmarks/blink_perf.py |
| index 413735ee15276aebe24a047741c5e8143a6eb535..ad5fe9bd134485d0fda56bf7119b15f0f7709a8f 100644 |
| --- a/tools/perf/benchmarks/blink_perf.py |
| +++ b/tools/perf/benchmarks/blink_perf.py |
| @@ -7,6 +7,8 @@ import os |
| from core import path_util |
| from core import perf_benchmark |
| +from page_sets import webgl_supported_shared_state |
| + |
| from telemetry import benchmark |
| from telemetry import page as page_module |
| from telemetry.page import legacy_page_test |
| @@ -17,14 +19,9 @@ from telemetry.timeline import model as model_module |
| from telemetry.timeline import tracing_config |
| from telemetry.value import list_of_scalar_values |
| -from telemetry.value import scalar |
| from telemetry.value import trace |
| -from measurements import timeline_controller |
| -from page_sets import webgl_supported_shared_state |
| - |
| - |
| BLINK_PERF_BASE_DIR = os.path.join(path_util.GetChromiumSrcDir(), |
| 'third_party', 'WebKit', 'PerformanceTests') |
| SKIPPED_FILE = os.path.join(BLINK_PERF_BASE_DIR, 'Skipped') |
| @@ -139,6 +136,8 @@ def _ComputeTraceEventsThreadTimeForBlinkPerf( |
| class _BlinkPerfMeasurement(legacy_page_test.LegacyPageTest): |
| """Tuns a blink performance test and reports the results.""" |
| + trace_event_to_metric_map = {} |
| + |
| def __init__(self): |
| super(_BlinkPerfMeasurement, self).__init__() |
| with open(os.path.join(os.path.dirname(__file__), |
| @@ -198,8 +197,12 @@ class _BlinkPerfMeasurement(legacy_page_test.LegacyPageTest): |
| if cpu_times: |
| avg = sum(cpu_times)/len(cpu_times) |
| print 'avg', '{0:.10f}'.format(avg), unit |
| + if self.trace_event_to_metric_map: |
| + metric_name = self.trace_event_to_metric_map[trace_event_name] |
| + else: |
| + metric_name = trace_event_name |
| results.AddValue(list_of_scalar_values.ListOfScalarValues( |
| - results.current_page, name=trace_event_name, units=unit, |
| + results.current_page, name=metric_name, units=unit, |
| values=cpu_times)) |
| print '\n' |
| @@ -242,48 +245,6 @@ class _BlinkPerfMeasurement(legacy_page_test.LegacyPageTest): |
| self.PrintAndCollectTraceEventMetrics(trace_cpu_time_metrics, results) |
| -# TODO(wangxianzhu): Convert the paint benchmarks to use the new blink_perf |
| -# tracing once it's ready. |
| -class _BlinkPerfPaintMeasurement(_BlinkPerfMeasurement): |
| - """Also collects prePaint and paint timing from traces.""" |
| - |
| - def __init__(self): |
| - super(_BlinkPerfPaintMeasurement, self).__init__() |
| - self._controller = None |
| - |
| - def WillNavigateToPage(self, page, tab): |
| - super(_BlinkPerfPaintMeasurement, self).WillNavigateToPage(page, tab) |
| - self._controller = timeline_controller.TimelineController() |
| - self._controller.trace_categories = 'blink,blink.console' |
| - self._controller.SetUp(page, tab) |
| - self._controller.Start(tab) |
| - |
| - def DidRunPage(self, platform): |
| - if self._controller: |
| - self._controller.CleanUp(platform) |
| - |
| - def ValidateAndMeasurePage(self, page, tab, results): |
| - super(_BlinkPerfPaintMeasurement, self).ValidateAndMeasurePage( |
| - page, tab, results) |
| - self._controller.Stop(tab, results) |
| - renderer = self._controller.model.GetRendererThreadFromTabId(tab.id) |
| - # The marker marks the beginning and ending of the measured runs. |
| - marker = next(event for event in renderer.async_slices |
| - if event.name == 'blink_perf' |
| - and event.category == 'blink.console') |
| - assert marker |
| - |
| - for event in renderer.all_slices: |
| - if event.start < marker.start or event.end > marker.end: |
| - continue |
| - if event.name == 'FrameView::prePaint': |
| - results.AddValue( |
| - scalar.ScalarValue(page, 'prePaint', 'ms', event.duration)) |
| - if event.name == 'FrameView::paintTree': |
| - results.AddValue( |
| - scalar.ScalarValue(page, 'paint', 'ms', event.duration)) |
| - |
| - |
| class _BlinkPerfBenchmark(perf_benchmark.PerfBenchmark): |
| test = _BlinkPerfMeasurement |
| @@ -377,7 +338,13 @@ class BlinkPerfLayout(_BlinkPerfBenchmark): |
| @benchmark.Owner(emails=['wangxianzhu@chromium.org']) |
| class BlinkPerfPaint(_BlinkPerfBenchmark): |
| - test = _BlinkPerfPaintMeasurement |
| + class _PaintMeasurement(_BlinkPerfMeasurement): |
| + trace_event_to_metric_map = { |
| + 'FrameView::prePaint' : 'prePaint', |
|
nednguyen
2017/05/12 21:45:30
Besides the data continuity problem, do you think
|
| + 'FrameView::paintTree' : 'paint', |
| + } |
| + |
| + test = _PaintMeasurement |
| tag = 'paint' |
| subdir = 'Paint' |