diff options
author | anandc@chromium.org <anandc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-02 21:37:58 +0000 |
---|---|---|
committer | anandc@chromium.org <anandc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-02 21:37:58 +0000 |
commit | 41b6a2d00d40118853b70740132de1eaa700468a (patch) | |
tree | 2bb18dee91f66268f48d1df935a128c9661e1e71 /tools/perf | |
parent | 0526d3538599f96c1c0baab2726287d6cd222652 (diff) | |
download | chromium_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.py | 2 | ||||
-rw-r--r-- | tools/perf/metrics/media.py | 22 |
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') |