| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 from telemetry.page import perf_tests_helper | 4 from telemetry.page import perf_tests_helper |
| 5 | 5 |
| 6 def _Mean(l): | 6 def _Mean(l): |
| 7 return float(sum(l)) / len(l) if len(l) > 0 else 0.0 | 7 return float(sum(l)) / len(l) if len(l) > 0 else 0.0 |
| 8 | 8 |
| 9 def MeasurementName(chart_name, trace_name): |
| 10 if chart_name: |
| 11 return '%s.%s' % (chart_name, trace_name) |
| 12 else: |
| 13 return trace_name |
| 14 |
| 15 def ChartTraceFromMeasurement(measurement_name): |
| 16 if "." in measurement_name: |
| 17 return measurement_name.split('.', 1) |
| 18 else: |
| 19 return ('', measurement_name) |
| 20 |
| 9 class PageMeasurementValue(object): | 21 class PageMeasurementValue(object): |
| 10 def __init__(self, trace_name, units, value, chart_name, data_type): | 22 def __init__(self, trace_name, units, value, chart_name, data_type): |
| 11 self.trace_name = trace_name | 23 self.trace_name = trace_name |
| 12 self.units = units | 24 self.units = units |
| 13 self.value = value | 25 self.value = value |
| 14 self.chart_name = chart_name | 26 self.chart_name = chart_name |
| 15 self.data_type = data_type | 27 self.data_type = data_type |
| 16 | 28 |
| 17 @property | 29 @property |
| 18 def measurement_name(self): | 30 def measurement_name(self): |
| 19 if self.chart_name: | 31 return MeasurementName(self.chart_name, self.trace_name) |
| 20 return '%s.%s' % (self.chart_name, self.trace_name) | |
| 21 else: | |
| 22 return self.trace_name | |
| 23 | 32 |
| 24 @property | 33 @property |
| 25 def output_value(self): | 34 def output_value(self): |
| 26 if 'histogram' in self.data_type: | 35 if 'histogram' in self.data_type: |
| 27 (mean, _) = perf_tests_helper.GeomMeanAndStdDevFromHistogram(self.value) | 36 (mean, _) = perf_tests_helper.GeomMeanAndStdDevFromHistogram(self.value) |
| 28 return mean | 37 return mean |
| 29 elif isinstance(self.value, list): | 38 elif isinstance(self.value, list): |
| 30 return _Mean(self.value) | 39 return _Mean(self.value) |
| 31 else: | 40 else: |
| 32 return self.value | 41 return self.value |
| OLD | NEW |