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

Side by Side Diff: tools/telemetry/telemetry/page/page_measurement_value.py

Issue 23431036: Create and display "comparison statistics" to compare two statistics Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync'd to r233008. 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/telemetry/telemetry/page/page_measurement_results.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/page/page_measurement_results.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698