summaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
context:
space:
mode:
authoranandc@chromium.org <anandc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-02 21:37:58 +0000
committeranandc@chromium.org <anandc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-02 21:37:58 +0000
commit41b6a2d00d40118853b70740132de1eaa700468a (patch)
tree2bb18dee91f66268f48d1df935a128c9661e1e71 /tools/perf
parent0526d3538599f96c1c0baab2726287d6cd222652 (diff)
downloadchromium_src-41b6a2d00d40118853b70740132de1eaa700468a.zip
chromium_src-41b6a2d00d40118853b70740132de1eaa700468a.tar.gz
chromium_src-41b6a2d00d40118853b70740132de1eaa700468a.tar.bz2
At present, we log all the media-metrics that are calculated, for all media actions.
There are situations where this may not be ideal: for example, when we perform seek actions and want to only record seek-times. This CL is to make the logging of basic media-metrics optional. By default, these will be logged. BUG=280350 Review URL: https://chromiumcodereview.appspot.com/23523005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220869 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/measurements/media.py2
-rw-r--r--tools/perf/metrics/media.py22
2 files changed, 17 insertions, 7 deletions
diff --git a/tools/perf/measurements/media.py b/tools/perf/measurements/media.py
index 4d2ffcf..4e323a1 100644
--- a/tools/perf/measurements/media.py
+++ b/tools/perf/measurements/media.py
@@ -5,6 +5,7 @@
from metrics import media
from telemetry.page import page_measurement
+
class Media(page_measurement.PageMeasurement):
"""The MediaMeasurement class gathers media-related metrics on a page set.
@@ -28,3 +29,4 @@ class Media(page_measurement.PageMeasurement):
"""Measure the page's performance."""
self._media_metric.Stop(page, tab)
self._media_metric.AddResults(tab, results)
+
diff --git a/tools/perf/metrics/media.py b/tools/perf/metrics/media.py
index c3b9051..a594ec73 100644
--- a/tools/perf/metrics/media.py
+++ b/tools/perf/metrics/media.py
@@ -6,6 +6,7 @@ import os
from metrics import Metric
+
class MediaMetric(Metric):
"""MediaMetric class injects and calls JS responsible for recording metrics.
@@ -13,15 +14,19 @@ class MediaMetric(Metric):
such as decoded_frame_count, dropped_frame_count, decoded_video_bytes, and
decoded_audio_bytes.
"""
+
def __init__(self, tab):
super(MediaMetric, self).__init__()
with open(os.path.join(os.path.dirname(__file__), 'media.js')) as f:
js = f.read()
tab.ExecuteJavaScript(js)
self._results = None
+ self._skip_basic_metrics = False
def Start(self, page, tab):
"""Create the media metrics for all media elements in the document."""
+ if hasattr(page.page_set, 'skip_basic_metrics'):
+ self._skip_basic_metrics = page.page_set.skip_basic_metrics
tab.ExecuteJavaScript('window.__createMediaMetricsForDocument()')
def Stop(self, page, tab):
@@ -58,12 +63,15 @@ class MediaMetric(Metric):
if not trace:
logging.error('Metrics ID is missing in results.')
return
- AddOneResult('avg_loop_time', 'sec')
- AddOneResult('buffering_time', 'sec')
- AddOneResult('decoded_audio_bytes', 'bytes')
- AddOneResult('decoded_video_bytes', 'bytes')
- AddOneResult('decoded_frame_count', 'frames')
- AddOneResult('dropped_frame_count', 'frames')
+
+ if not self._skip_basic_metrics:
+ AddOneResult('avg_loop_time', 'sec')
+ AddOneResult('buffering_time', 'sec')
+ AddOneResult('decoded_audio_bytes', 'bytes')
+ AddOneResult('decoded_video_bytes', 'bytes')
+ AddOneResult('decoded_frame_count', 'frames')
+ AddOneResult('dropped_frame_count', 'frames')
+ AddOneResult('time_to_play', 'sec')
+
AddOneResult('seek', 'sec')
- AddOneResult('time_to_play', 'sec')