| 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 23 matching lines...) Expand all Loading... |
| 34 | 34 |
| 35 class WebrtcPeerConnection(_Webrtc): | 35 class WebrtcPeerConnection(_Webrtc): |
| 36 """Measures WebRtc Peerconnection for remote video and audio communication.""" | 36 """Measures WebRtc Peerconnection for remote video and audio communication.""" |
| 37 page_set = page_sets.WebrtcPeerconnectionPageSet | 37 page_set = page_sets.WebrtcPeerconnectionPageSet |
| 38 | 38 |
| 39 @classmethod | 39 @classmethod |
| 40 def Name(cls): | 40 def Name(cls): |
| 41 return 'webrtc.peerconnection' | 41 return 'webrtc.peerconnection' |
| 42 | 42 |
| 43 | 43 |
| 44 @benchmark.Owner(emails=['phoglund@chromium.org']) |
| 44 class WebrtcDataChannel(_Webrtc): | 45 class WebrtcDataChannel(_Webrtc): |
| 45 """Measures WebRtc DataChannel loopback.""" | 46 """Measures WebRtc DataChannel loopback.""" |
| 46 page_set = page_sets.WebrtcDatachannelPageSet | 47 page_set = page_sets.WebrtcDatachannelPageSet |
| 47 | 48 |
| 48 @classmethod | 49 @classmethod |
| 49 def Name(cls): | 50 def Name(cls): |
| 50 return 'webrtc.datachannel' | 51 return 'webrtc.datachannel' |
| 51 | 52 |
| 52 | 53 |
| 53 @benchmark.Disabled('android') # http://crbug.com/663802 | 54 @benchmark.Disabled('android') # http://crbug.com/663802 |
| 55 @benchmark.Owner(emails=['ehmaldonado@chromium.org', 'phoglund@chromium.org']) |
| 54 class WebrtcStressTest(perf_benchmark.PerfBenchmark): | 56 class WebrtcStressTest(perf_benchmark.PerfBenchmark): |
| 55 """Measures WebRtc CPU and GPU usage with multiple peer connections.""" | 57 """Measures WebRtc CPU and GPU usage with multiple peer connections.""" |
| 56 page_set = page_sets.WebrtcStresstestPageSet | 58 page_set = page_sets.WebrtcStresstestPageSet |
| 57 | 59 |
| 58 @classmethod | 60 @classmethod |
| 59 def Name(cls): | 61 def Name(cls): |
| 60 return 'webrtc.stress' | 62 return 'webrtc.stress' |
| 61 | 63 |
| 62 def CreatePageTest(self, options): | 64 def CreatePageTest(self, options): |
| 63 # Exclude all stats. | 65 # Exclude all stats. |
| 64 return webrtc.WebRTC(particular_metrics=['googAvgEncodeMs', | 66 return webrtc.WebRTC(particular_metrics=['googAvgEncodeMs', |
| 65 'googFrameRateReceived']) | 67 'googFrameRateReceived']) |
| 66 | 68 |
| 67 | 69 |
| 68 # WebrtcRendering must be a PerfBenchmark, and not a _Webrtc, because it is a | 70 # WebrtcRendering must be a PerfBenchmark, and not a _Webrtc, because it is a |
| 69 # timeline-based. | 71 # timeline-based. |
| 70 # Disabled on reference builds because they crash and don't support tab | 72 # Disabled on reference builds because they crash and don't support tab |
| 71 # capture. See http://crbug.com/603232. | 73 # capture. See http://crbug.com/603232. |
| 72 @benchmark.Disabled('reference') | 74 @benchmark.Disabled('reference') |
| 73 @benchmark.Disabled('android') # http://crbug.com/610019 | 75 @benchmark.Disabled('android') # http://crbug.com/610019 |
| 76 @benchmark.Owner(emails=['qiangchen@chromium.org']) |
| 74 class WebrtcRendering(perf_benchmark.PerfBenchmark): | 77 class WebrtcRendering(perf_benchmark.PerfBenchmark): |
| 75 """Specific time measurements (e.g. fps, smoothness) for WebRtc rendering.""" | 78 """Specific time measurements (e.g. fps, smoothness) for WebRtc rendering.""" |
| 76 | 79 |
| 77 page_set = page_sets.WebrtcRenderingPageSet | 80 page_set = page_sets.WebrtcRenderingPageSet |
| 78 | 81 |
| 79 def CreateTimelineBasedMeasurementOptions(self): | 82 def CreateTimelineBasedMeasurementOptions(self): |
| 80 category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter( | 83 category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter( |
| 81 filter_string='webrtc,webkit.console,blink.console') | 84 filter_string='webrtc,webkit.console,blink.console') |
| 82 options = timeline_based_measurement.Options(category_filter) | 85 options = timeline_based_measurement.Options(category_filter) |
| 83 options.SetLegacyTimelineBasedMetrics( | 86 options.SetLegacyTimelineBasedMetrics( |
| 84 [webrtc_rendering_timeline.WebRtcRenderingTimelineMetric()]) | 87 [webrtc_rendering_timeline.WebRtcRenderingTimelineMetric()]) |
| 85 return options | 88 return options |
| 86 | 89 |
| 87 def SetExtraBrowserOptions(self, options): | 90 def SetExtraBrowserOptions(self, options): |
| 88 options.AppendExtraBrowserArgs('--use-fake-device-for-media-stream') | 91 options.AppendExtraBrowserArgs('--use-fake-device-for-media-stream') |
| 89 options.AppendExtraBrowserArgs('--use-fake-ui-for-media-stream') | 92 options.AppendExtraBrowserArgs('--use-fake-ui-for-media-stream') |
| 90 | 93 |
| 91 @classmethod | 94 @classmethod |
| 92 def Name(cls): | 95 def Name(cls): |
| 93 return 'webrtc.webrtc_smoothness' | 96 return 'webrtc.webrtc_smoothness' |
| OLD | NEW |