OLD | NEW |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Basic pyauto performance tests. | 6 """Basic pyauto performance tests. |
7 | 7 |
8 For tests that need to be run for multiple iterations (e.g., so that average | 8 For tests that need to be run for multiple iterations (e.g., so that average |
9 and standard deviation values can be reported), the default number of iterations | 9 and standard deviation values can be reported), the default number of iterations |
10 run for each of these tests is specified by |_DEFAULT_NUM_ITERATIONS|. | 10 run for each of these tests is specified by |_DEFAULT_NUM_ITERATIONS|. |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
105 if values: | 105 if values: |
106 avg = float(sum(values)) / len(values) | 106 avg = float(sum(values)) / len(values) |
107 if len(values) > 1: | 107 if len(values) > 1: |
108 temp_vals = [math.pow(x - avg, 2) for x in values] | 108 temp_vals = [math.pow(x - avg, 2) for x in values] |
109 std_dev = math.sqrt(sum(temp_vals) / (len(temp_vals) - 1)) | 109 std_dev = math.sqrt(sum(temp_vals) / (len(temp_vals) - 1)) |
110 return avg, std_dev | 110 return avg, std_dev |
111 | 111 |
112 def _OutputPerfGraphValue(self, description, value): | 112 def _OutputPerfGraphValue(self, description, value): |
113 """Outputs a performance value to have it graphed on the performance bots. | 113 """Outputs a performance value to have it graphed on the performance bots. |
114 | 114 |
115 Only used for ChromeOS. | 115 Only used for ChromeOS. The performance bots have a 30-character limit on |
116 the length of the description for a performance value. Any characters | |
117 beyond that are truncated before results are stored in the autotest | |
118 database. | |
116 | 119 |
117 Args: | 120 Args: |
118 description: A string description of the performance value. | 121 description: A string description of the performance value. This will |
122 be truncated to 30 characters when stored in the autotest | |
123 database. | |
119 value: A numeric value representing a single performance measurement. | 124 value: A numeric value representing a single performance measurement. |
120 """ | 125 """ |
121 if self.IsChromeOS(): | 126 if self.IsChromeOS(): |
127 if len(description) > 30: | |
128 logging.warning('The description "%s" will be truncated to "%s" ' | |
129 '(length 30) when added to the autotest database.' % | |
truty
2011/10/20 00:12:01
Not a big deal, but I think it's preferred when ca
dennis_jeffrey
2011/10/20 01:18:21
Done (also changed in several other places in this
| |
130 (description, description[:30])) | |
122 print '\n%s(\'%s\', %.2f)%s' % (self._PERF_OUTPUT_MARKER_PRE, description, | 131 print '\n%s(\'%s\', %.2f)%s' % (self._PERF_OUTPUT_MARKER_PRE, description, |
123 value, self._PERF_OUTPUT_MARKER_POST) | 132 value, self._PERF_OUTPUT_MARKER_POST) |
124 | 133 |
125 def _PrintSummaryResults(self, description, values, units): | 134 def _PrintSummaryResults(self, description, values, units): |
126 """Logs summary measurement information. | 135 """Logs summary measurement information. |
127 | 136 |
137 This function computes and outputs the average and standard deviation of | |
138 the specified list of value measurements. It also invokes | |
139 _OutputPerfGraphValue() with the computed *average* value, to ensure the | |
140 average value can be plotted in a performance graph. | |
141 | |
128 Args: | 142 Args: |
129 description: A string description for the specified results. | 143 description: A string description for the specified results. |
130 values: A list of numeric value measurements. | 144 values: A list of numeric value measurements. |
131 units: A string specifying the units for the specified measurements. | 145 units: A string specifying the units for the specified measurements. |
132 """ | 146 """ |
133 logging.info('Results for: ' + description) | 147 logging.info('Results for: ' + description) |
134 if values: | 148 if values: |
135 avg, std_dev = self._AvgAndStdDev(values) | 149 avg, std_dev = self._AvgAndStdDev(values) |
136 logging.info('Number of iterations: %d', len(values)) | 150 logging.info('Number of iterations: %d', len(values)) |
137 for val in values: | 151 for val in values: |
(...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
877 """Identifies the port number to which the server is currently bound. | 891 """Identifies the port number to which the server is currently bound. |
878 | 892 |
879 Returns: | 893 Returns: |
880 The numeric port number to which the server is currently bound. | 894 The numeric port number to which the server is currently bound. |
881 """ | 895 """ |
882 return self._server.server_address[1] | 896 return self._server.server_address[1] |
883 | 897 |
884 | 898 |
885 if __name__ == '__main__': | 899 if __name__ == '__main__': |
886 pyauto_functional.Main() | 900 pyauto_functional.Main() |
OLD | NEW |