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

Side by Side Diff: build/android/perf_tests_helper.py

Issue 10693110: [android] Split top-level scripts and libraries from build/android. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Copyright on __init__.py, removed #! on some pylib/ files. Created 8 years, 5 months 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 | « build/android/flag_changer.py ('k') | build/android/pylib/__init__.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import re
6
7
8 def _EscapePerfResult(s):
9 """Escapes |s| for use in a perf result."""
10 # Colons (:) and equal signs (=) are not allowed, and we chose an arbitrary
11 # limit of 40 chars.
12 return re.sub(':|=', '_', s[:40])
13
14
15 def PrintPerfResult(measurement, trace, values, units, important=True,
16 print_to_stdout=True):
17 """Prints numerical data to stdout in the format required by perf tests.
18
19 The string args may be empty but they must not contain any colons (:) or
20 equals signs (=).
21
22 Args:
23 measurement: A description of the quantity being measured, e.g. "vm_peak".
24 trace: A description of the particular data point, e.g. "reference".
25 values: A list of numeric measured values.
26 units: A description of the units of measure, e.g. "bytes".
27 important: If True, the output line will be specially marked, to notify the
28 post-processor.
29
30 Returns:
31 String of the formated perf result.
32 """
33 important_marker = '*' if important else ''
34
35 assert isinstance(values, list)
36 assert len(values)
37 assert '/' not in measurement
38 avg = None
39 if len(values) > 1:
40 try:
41 value = '[%s]' % ','.join([str(v) for v in values])
42 avg = sum([float(v) for v in values]) / len(values)
43 except ValueError:
44 value = ", ".join(values)
45 else:
46 value = values[0]
47
48 output = '%sRESULT %s: %s= %s %s' % (important_marker,
49 _EscapePerfResult(measurement),
50 _EscapePerfResult(trace),
51 value, units)
52 if avg:
53 output += '\nAvg %s: %d%s' % (measurement, avg, units)
54 if print_to_stdout:
55 print output
56 return output
OLDNEW
« no previous file with comments | « build/android/flag_changer.py ('k') | build/android/pylib/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698