| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from core import perf_benchmark | 5 from core import perf_benchmark |
| 6 | 6 |
| 7 from measurements import webrtc | 7 from measurements import webrtc |
| 8 import page_sets | 8 import page_sets |
| 9 from telemetry import benchmark | 9 from telemetry import benchmark |
| 10 from telemetry.timeline import chrome_trace_category_filter | 10 from telemetry.timeline import chrome_trace_category_filter |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 @benchmark.Disabled('android') # http://crbug.com/663802 | 53 @benchmark.Disabled('android') # http://crbug.com/663802 |
| 54 class WebrtcStressTest(perf_benchmark.PerfBenchmark): | 54 class WebrtcStressTest(perf_benchmark.PerfBenchmark): |
| 55 """Measures WebRtc CPU and GPU usage with multiple peer connections.""" | 55 """Measures WebRtc CPU and GPU usage with multiple peer connections.""" |
| 56 page_set = page_sets.WebrtcStresstestPageSet | 56 page_set = page_sets.WebrtcStresstestPageSet |
| 57 | 57 |
| 58 @classmethod | 58 @classmethod |
| 59 def Name(cls): | 59 def Name(cls): |
| 60 return 'webrtc.stress' | 60 return 'webrtc.stress' |
| 61 | 61 |
| 62 def CreatePageTest(self, options): | 62 def CreatePageTest(self, options): |
| 63 return webrtc.WebRTC(use_webrtc_stats=False) | 63 # Exclude all stats. |
| 64 return webrtc.WebRTC(particular_metrics=['googAvgEncodeMs', |
| 65 'googFrameRateReceived']) |
| 64 | 66 |
| 65 | 67 |
| 66 # WebrtcRendering must be a PerfBenchmark, and not a _Webrtc, because it is a | 68 # WebrtcRendering must be a PerfBenchmark, and not a _Webrtc, because it is a |
| 67 # timeline-based. | 69 # timeline-based. |
| 68 # Disabled on reference builds because they crash and don't support tab | 70 # Disabled on reference builds because they crash and don't support tab |
| 69 # capture. See http://crbug.com/603232. | 71 # capture. See http://crbug.com/603232. |
| 70 @benchmark.Disabled('reference') | 72 @benchmark.Disabled('reference') |
| 71 @benchmark.Disabled('android') # http://crbug.com/610019 | 73 @benchmark.Disabled('android') # http://crbug.com/610019 |
| 72 class WebrtcRendering(perf_benchmark.PerfBenchmark): | 74 class WebrtcRendering(perf_benchmark.PerfBenchmark): |
| 73 """Specific time measurements (e.g. fps, smoothness) for WebRtc rendering.""" | 75 """Specific time measurements (e.g. fps, smoothness) for WebRtc rendering.""" |
| 74 | 76 |
| 75 page_set = page_sets.WebrtcRenderingPageSet | 77 page_set = page_sets.WebrtcRenderingPageSet |
| 76 | 78 |
| 77 def CreateTimelineBasedMeasurementOptions(self): | 79 def CreateTimelineBasedMeasurementOptions(self): |
| 78 category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter( | 80 category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter( |
| 79 filter_string='webrtc,webkit.console,blink.console') | 81 filter_string='webrtc,webkit.console,blink.console') |
| 80 options = timeline_based_measurement.Options(category_filter) | 82 options = timeline_based_measurement.Options(category_filter) |
| 81 options.SetLegacyTimelineBasedMetrics( | 83 options.SetLegacyTimelineBasedMetrics( |
| 82 [webrtc_rendering_timeline.WebRtcRenderingTimelineMetric()]) | 84 [webrtc_rendering_timeline.WebRtcRenderingTimelineMetric()]) |
| 83 return options | 85 return options |
| 84 | 86 |
| 85 def SetExtraBrowserOptions(self, options): | 87 def SetExtraBrowserOptions(self, options): |
| 86 options.AppendExtraBrowserArgs('--use-fake-device-for-media-stream') | 88 options.AppendExtraBrowserArgs('--use-fake-device-for-media-stream') |
| 87 options.AppendExtraBrowserArgs('--use-fake-ui-for-media-stream') | 89 options.AppendExtraBrowserArgs('--use-fake-ui-for-media-stream') |
| 88 | 90 |
| 89 @classmethod | 91 @classmethod |
| 90 def Name(cls): | 92 def Name(cls): |
| 91 return 'webrtc.webrtc_smoothness' | 93 return 'webrtc.webrtc_smoothness' |
| OLD | NEW |