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

Unified Diff: tools/perf/metrics/smoothness.py

Issue 29423005: telemetry: Add GetRendererProcessFromTab to timeline model. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update unit test. Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/perf/metrics/rendering_stats.py ('k') | tools/perf/metrics/smoothness_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/metrics/smoothness.py
diff --git a/tools/perf/metrics/smoothness.py b/tools/perf/metrics/smoothness.py
index 13911d336d1f97656b389cd9ac823e880c522b00..ff20c441b86269b86ce5b2f6608cd1e20c057270 100644
--- a/tools/perf/metrics/smoothness.py
+++ b/tools/perf/metrics/smoothness.py
@@ -9,7 +9,7 @@ from telemetry.core.timeline.model import MarkerMismatchError
from telemetry.core.timeline.model import MarkerOverlapError
from telemetry.page import page_measurement
-TIMELINE_MARKER = 'SmoothnessMetric'
+TIMELINE_MARKER = 'Smoothness'
class NotEnoughFramesError(page_measurement.MeasurementFailure):
@@ -24,16 +24,16 @@ class NoSupportedActionError(page_measurement.MeasurementFailure):
'None of the actions is supported by smoothness measurement')
-def GetTimelineMarkerLabelsFromAction(compound_action):
- timeline_marker_labels = []
+def GetTimelineMarkerNamesFromAction(compound_action):
+ timeline_marker_names = []
if not isinstance(compound_action, list):
compound_action = [compound_action]
for action in compound_action:
- if action.GetTimelineMarkerLabel():
- timeline_marker_labels.append(action.GetTimelineMarkerLabel())
- if not timeline_marker_labels:
+ if action.GetTimelineMarkerName():
+ timeline_marker_names.append(action.GetTimelineMarkerName())
+ if not timeline_marker_names:
raise NoSupportedActionError()
- return timeline_marker_labels
+ return timeline_marker_names
class SmoothnessMetric(Metric):
@@ -51,25 +51,31 @@ class SmoothnessMetric(Metric):
def Stop(self, page, tab):
tab.ExecuteJavaScript('console.timeEnd("' + TIMELINE_MARKER + '")')
timeline_model = tab.browser.StopTracing().AsTimelineModel()
- render_process_marker = timeline_model.FindTimelineMarkers(TIMELINE_MARKER)
- timeline_marker_labels = GetTimelineMarkerLabelsFromAction(
+ smoothness_marker = timeline_model.FindTimelineMarkers(TIMELINE_MARKER)
+ timeline_marker_names = GetTimelineMarkerNamesFromAction(
self._compound_action)
try:
timeline_markers = timeline_model.FindTimelineMarkers(
- timeline_marker_labels)
+ timeline_marker_names)
except MarkerMismatchError:
# TODO(ernstm): re-raise exception as MeasurementFailure when the
# reference build was updated.
- timeline_markers = render_process_marker
+ timeline_markers = smoothness_marker
except MarkerOverlapError as e:
raise page_measurement.MeasurementFailure(str(e))
+ renderer_process = timeline_model.GetRendererProcessFromTab(tab)
self._stats = rendering_stats.RenderingStats(
- render_process_marker, timeline_markers)
+ renderer_process, timeline_markers)
if not self._stats.frame_times:
raise NotEnoughFramesError()
+ def SetStats(self, stats):
+ """ Pass in a RenderingStats object directly. For unittests that don't call
+ Start/Stop.
+ """
+ self._stats = stats
def AddResults(self, tab, results):
# List of raw frame times.
« no previous file with comments | « tools/perf/metrics/rendering_stats.py ('k') | tools/perf/metrics/smoothness_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698