Index: telemetry/telemetry/web_perf/timeline_based_measurement.py |
diff --git a/telemetry/telemetry/web_perf/timeline_based_measurement.py b/telemetry/telemetry/web_perf/timeline_based_measurement.py |
index 961ed9120e26de4bd13871c5ed8522fe83e4c61a..921162072e012e06e22baafe25064a2a83940fb8 100644 |
--- a/telemetry/telemetry/web_perf/timeline_based_measurement.py |
+++ b/telemetry/telemetry/web_perf/timeline_based_measurement.py |
@@ -284,6 +284,9 @@ class TimelineBasedMeasurement(story_test.StoryTest): |
chrome_config.category_filter.AddIncludedCategory('blink.console') |
platform.tracing_controller.StartTracing(self._tbm_options.config) |
+ def GetTimelineBasedMetrics(self): |
+ return self._tbm_options.GetTimelineBasedMetrics() |
+ |
def Measure(self, platform, results): |
"""Collect all possible metrics and added them to results.""" |
platform.tracing_controller.telemetry_info = results.telemetry_info |
@@ -291,11 +294,13 @@ class TimelineBasedMeasurement(story_test.StoryTest): |
trace_value = trace.TraceValue(results.current_page, trace_result) |
results.AddValue(trace_value) |
- try: |
- if self._tbm_options.GetTimelineBasedMetrics(): |
- assert not self._tbm_options.GetLegacyTimelineBasedMetrics(), ( |
- 'Specifying both TBMv1 and TBMv2 metrics is not allowed.') |
- self._ComputeTimelineBasedMetrics(results, trace_value) |
+ if self.GetTimelineBasedMetrics(): |
+ self._ComputeTimelineBasedMetrics(results, trace_value) |
+ # Legacy metrics can be computed, but only if explicitly specified. |
+ if self._tbm_options.GetLegacyTimelineBasedMetrics(): |
+ # Since this imports the trace model in python, it will also clean up |
+ # the trace handles for us. |
+ self._ComputeLegacyTimelineBasedMetrics(results, trace_result) |
else: |
# Run all TBMv1 metrics if no other metric is specified |
# (legacy behavior) |
@@ -315,7 +320,7 @@ class TimelineBasedMeasurement(story_test.StoryTest): |
platform.tracing_controller.StopTracing() |
def _ComputeTimelineBasedMetrics(self, results, trace_value): |
- metrics = self._tbm_options.GetTimelineBasedMetrics() |
+ metrics = self.GetTimelineBasedMetrics() |
extra_import_options = { |
'trackDetailedModelStats': True |
} |