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

Side by Side Diff: tools/perf/benchmarks/webrtc.py

Issue 1873503002: Telemetry: Added a new page set to webrtc.webrtc_smoothness (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Disabled reference run on perf cq bots Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « no previous file | tools/perf/page_sets/data/webrtc_smoothness_cases.json » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 tracing_category_filter 10 from telemetry.timeline import tracing_category_filter
11 from telemetry.web_perf import timeline_based_measurement 11 from telemetry.web_perf import timeline_based_measurement
12 from telemetry.web_perf.metrics import webrtc_rendering_timeline 12 from telemetry.web_perf.metrics import webrtc_rendering_timeline
13 13
14 RENDERING_VALUE_PREFIX = 'WebRTCRendering_' 14 RENDERING_VALUE_PREFIX = 'WebRTCRendering_'
15 15
16 # TODO(qyearsley, mcasas): Add webrtc.audio when http://crbug.com/468732 16 # TODO(qyearsley, mcasas): Add webrtc.audio when http://crbug.com/468732
17 # is fixed, or revert https://codereview.chromium.org/1544573002/ when 17 # is fixed, or revert https://codereview.chromium.org/1544573002/ when
18 # http://crbug.com/568333 is fixed. 18 # http://crbug.com/568333 is fixed.
19 19
20
20 # Disabled because the reference set becomes flaky with the new 21 # Disabled because the reference set becomes flaky with the new
21 # https:// page set introduced in http://crbug.com/523517. 22 # https:// page set introduced in http://crbug.com/523517.
22 # Try removing once the Chrome used for ref builds advances 23 # Try removing once the Chrome used for ref builds advances
23 # past blink commit pos 200986. 24 # past blink commit pos 200986.
24 @benchmark.Disabled('reference') 25 @benchmark.Disabled('reference')
25 class _Webrtc(perf_benchmark.PerfBenchmark): 26 class _Webrtc(perf_benchmark.PerfBenchmark):
26 """Base class for WebRTC metrics for real-time communications tests.""" 27 """Base class for WebRTC metrics for real-time communications tests."""
27 test = webrtc.WebRTC 28 test = webrtc.WebRTC
28 29
29 30
30 class WebrtcGetusermedia(_Webrtc): 31 class WebrtcGetusermedia(_Webrtc):
31 """Measures WebRtc GetUserMedia for video capture and local playback""" 32 """Measures WebRtc GetUserMedia for video capture and local playback."""
32 page_set = page_sets.WebrtcGetusermediaPageSet 33 page_set = page_sets.WebrtcGetusermediaPageSet
33 34
34 @classmethod 35 @classmethod
35 def Name(cls): 36 def Name(cls):
36 return 'webrtc.getusermedia' 37 return 'webrtc.getusermedia'
37 38
38 39
39 class WebrtcPeerConnection(_Webrtc): 40 class WebrtcPeerConnection(_Webrtc):
40 """Measures WebRtc Peerconnection for remote video and audio communication """ 41 """Measures WebRtc Peerconnection for remote video and audio communication."""
41 page_set = page_sets.WebrtcPeerconnectionPageSet 42 page_set = page_sets.WebrtcPeerconnectionPageSet
42 43
43 @classmethod 44 @classmethod
44 def Name(cls): 45 def Name(cls):
45 return 'webrtc.peerconnection' 46 return 'webrtc.peerconnection'
46 47
47 48
48 class WebrtcDataChannel(_Webrtc): 49 class WebrtcDataChannel(_Webrtc):
49 """Measures WebRtc DataChannel loopback """ 50 """Measures WebRtc DataChannel loopback."""
50 page_set = page_sets.WebrtcDatachannelPageSet 51 page_set = page_sets.WebrtcDatachannelPageSet
51 52
52 @classmethod 53 @classmethod
53 def Name(cls): 54 def Name(cls):
54 return 'webrtc.datachannel' 55 return 'webrtc.datachannel'
55 56
56 57
57 # WebrtcRendering must be a PerfBenchmark, and not a _Webrtc, because it is a 58 # WebrtcRendering must be a PerfBenchmark, and not a _Webrtc, because it is a
58 # timeline-based. 59 # timeline-based.
60 # Disabled on reference builds because they crash and don't support tab
61 # capture. See http://crbug.com/603232.
62 @benchmark.Disabled('reference')
59 class WebrtcRendering(perf_benchmark.PerfBenchmark): 63 class WebrtcRendering(perf_benchmark.PerfBenchmark):
60 """Specific time measurements (e.g. fps, smoothness) for WebRtc rendering.""" 64 """Specific time measurements (e.g. fps, smoothness) for WebRtc rendering."""
61 65
62 page_set = page_sets.WebrtcPeerconnectionPageSet 66 page_set = page_sets.WebrtcRenderingPageSet
63 67
64 def CreateTimelineBasedMeasurementOptions(self): 68 def CreateTimelineBasedMeasurementOptions(self):
65 category_filter = tracing_category_filter.TracingCategoryFilter( 69 category_filter = tracing_category_filter.TracingCategoryFilter(
66 filter_string='webrtc,webkit.console,blink.console') 70 filter_string='webrtc,webkit.console,blink.console')
67 options = timeline_based_measurement.Options(category_filter) 71 options = timeline_based_measurement.Options(category_filter)
68 options.SetLegacyTimelineBasedMetrics( 72 options.SetLegacyTimelineBasedMetrics(
69 [webrtc_rendering_timeline.WebRtcRenderingTimelineMetric()]) 73 [webrtc_rendering_timeline.WebRtcRenderingTimelineMetric()])
70 return options 74 return options
71 75
72 def SetExtraBrowserOptions(self, options): 76 def SetExtraBrowserOptions(self, options):
73 options.AppendExtraBrowserArgs('--use-fake-device-for-media-stream') 77 options.AppendExtraBrowserArgs('--use-fake-device-for-media-stream')
74 options.AppendExtraBrowserArgs('--use-fake-ui-for-media-stream') 78 options.AppendExtraBrowserArgs('--use-fake-ui-for-media-stream')
75 79
76 @classmethod 80 @classmethod
77 def Name(cls): 81 def Name(cls):
78 return 'webrtc.webrtc_smoothness' 82 return 'webrtc.webrtc_smoothness'
OLDNEW
« no previous file with comments | « no previous file | tools/perf/page_sets/data/webrtc_smoothness_cases.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698