Chromium Code Reviews| 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 78103823d1c2511fbb3ca7af5acf280951a4e82b..70afc2af6f0de3587660927fbde9b6451ddb7cf1 100644 |
| --- a/telemetry/telemetry/web_perf/timeline_based_measurement.py |
| +++ b/telemetry/telemetry/web_perf/timeline_based_measurement.py |
| @@ -190,7 +190,7 @@ class Options(object): |
| "object or valid overhead level string. Given overhead " |
| "level: %s" % overhead_level) |
| - self._timeline_based_metric = None |
| + self._timeline_based_metrics = None |
| self._legacy_timeline_based_metrics = [] |
| @@ -208,6 +208,10 @@ class Options(object): |
| return self._config |
| def SetTimelineBasedMetric(self, metric): |
| + assert isinstance(metric, basestring) |
| + self._timeline_based_metrics = [metric] |
| + |
| + def SetTimelineBasedMetrics(self, metrics): |
| """Sets the new-style (TBMv2) metric to run. |
|
eakuefner
2016/06/30 18:45:03
Can you update the docstring to take into account
alexandermont
2016/07/01 21:46:00
Done
|
| Metrics are assumed to live in //tracing/tracing/metrics, so the path |
| @@ -217,11 +221,13 @@ class Options(object): |
| Args: |
| metric: A string metric path under //tracing/tracing/metrics. |
| """ |
| - assert isinstance(metric, basestring) |
| - self._timeline_based_metric = metric |
| + assert isinstance(metrics, list) |
| + for metric in metrics: |
| + assert isinstance(metric, basestring) |
| + self._timeline_based_metrics = metrics |
| - def GetTimelineBasedMetric(self): |
| - return self._timeline_based_metric |
| + def GetTimelineBasedMetrics(self): |
| + return self._timeline_based_metrics |
| def SetLegacyTimelineBasedMetrics(self, metrics): |
| assert isinstance(metrics, collections.Iterable) |
| @@ -279,8 +285,8 @@ class TimelineBasedMeasurement(story_test.StoryTest): |
| trace_value = trace.TraceValue(results.current_page, trace_result) |
| results.AddValue(trace_value) |
| - if self._tbm_options.GetTimelineBasedMetric(): |
| - self._ComputeTimelineBasedMetric(results, trace_value) |
| + if self._tbm_options.GetTimelineBasedMetrics(): |
| + self._ComputeTimelineBasedMetrics(results, trace_value) |
| # Legacy metrics can be computed, but only if explicitly specified. |
| if self._tbm_options.GetLegacyTimelineBasedMetrics(): |
| self._ComputeLegacyTimelineBasedMetrics(results, trace_result) |
| @@ -299,14 +305,14 @@ class TimelineBasedMeasurement(story_test.StoryTest): |
| if platform.tracing_controller.is_tracing_running: |
| platform.tracing_controller.StopTracing() |
| - def _ComputeTimelineBasedMetric(self, results, trace_value): |
| - metric = self._tbm_options.GetTimelineBasedMetric() |
| + def _ComputeTimelineBasedMetrics(self, results, trace_value): |
| + metrics = self._tbm_options.GetTimelineBasedMetrics() |
| extra_import_options = { |
| 'trackDetailedModelStats': True |
| } |
| mre_result = metric_runner.RunMetric( |
| - trace_value.filename, metric, extra_import_options) |
| + trace_value.filename, metrics, extra_import_options) |
| page = results.current_page |
| failure_dicts = mre_result.failures |