| 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 | 4 |
| 5 import re | 5 import re |
| 6 import sys |
| 6 | 7 |
| 7 import android_commands | 8 import android_commands |
| 8 import json | 9 import json |
| 9 import math | 10 import math |
| 10 | 11 |
| 11 # Valid values of result type. | 12 # Valid values of result type. |
| 12 RESULT_TYPES = {'unimportant': 'RESULT ', | 13 RESULT_TYPES = {'unimportant': 'RESULT ', |
| 13 'default': '*RESULT ', | 14 'default': '*RESULT ', |
| 14 'informational': '', | 15 'informational': '', |
| 15 'unimportant-histogram': 'HISTOGRAM ', | 16 'unimportant-histogram': 'HISTOGRAM ', |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 _EscapePerfResult(measurement), | 117 _EscapePerfResult(measurement), |
| 117 value) | 118 value) |
| 118 avg, sd = GeomMeanAndStdDevFromHistogram(value) | 119 avg, sd = GeomMeanAndStdDevFromHistogram(value) |
| 119 | 120 |
| 120 if avg: | 121 if avg: |
| 121 output += '\nAvg %s: %f%s' % (measurement, avg, units) | 122 output += '\nAvg %s: %f%s' % (measurement, avg, units) |
| 122 if sd: | 123 if sd: |
| 123 output += '\nSd %s: %f%s' % (measurement, sd, units) | 124 output += '\nSd %s: %f%s' % (measurement, sd, units) |
| 124 if print_to_stdout: | 125 if print_to_stdout: |
| 125 print output | 126 print output |
| 127 sys.stdout.flush() |
| 126 return output | 128 return output |
| 127 | 129 |
| 128 | 130 |
| 129 class PerfTestSetup(object): | 131 class PerfTestSetup(object): |
| 130 """Provides methods for setting up a device for perf testing.""" | 132 """Provides methods for setting up a device for perf testing.""" |
| 131 _DROP_CACHES = '/proc/sys/vm/drop_caches' | 133 _DROP_CACHES = '/proc/sys/vm/drop_caches' |
| 132 _SCALING_GOVERNOR_FMT = ( | 134 _SCALING_GOVERNOR_FMT = ( |
| 133 '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor') | 135 '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor') |
| 134 | 136 |
| 135 def __init__(self, adb): | 137 def __init__(self, adb): |
| (...skipping 25 matching lines...) Expand all Loading... |
| 161 if self._original_scaling_governor: | 163 if self._original_scaling_governor: |
| 162 self._SetScalingGovernorInternal(self._original_scaling_governor) | 164 self._SetScalingGovernorInternal(self._original_scaling_governor) |
| 163 self._original_scaling_governor = None | 165 self._original_scaling_governor = None |
| 164 | 166 |
| 165 def _SetScalingGovernorInternal(self, value): | 167 def _SetScalingGovernorInternal(self, value): |
| 166 for cpu in range(self._kernel_max + 1): | 168 for cpu in range(self._kernel_max + 1): |
| 167 scaling_governor_file = PerfTestSetup._SCALING_GOVERNOR_FMT % cpu | 169 scaling_governor_file = PerfTestSetup._SCALING_GOVERNOR_FMT % cpu |
| 168 if self._adb.Adb().DoesFileExist(scaling_governor_file): | 170 if self._adb.Adb().DoesFileExist(scaling_governor_file): |
| 169 self._adb.RunShellCommand( | 171 self._adb.RunShellCommand( |
| 170 ('echo %s > ' + scaling_governor_file) % value) | 172 ('echo %s > ' + scaling_governor_file) % value) |
| OLD | NEW |