Index: tools/telemetry/telemetry/page/html_page_measurement_results.py |
diff --git a/tools/telemetry/telemetry/page/html_page_measurement_results.py b/tools/telemetry/telemetry/page/html_page_measurement_results.py |
index a0b8b552322d1d7e8862c7d33885b060fd5b87eb..bf058eb6d59b0b954f37ad0e242e740bcde768b1 100644 |
--- a/tools/telemetry/telemetry/page/html_page_measurement_results.py |
+++ b/tools/telemetry/telemetry/page/html_page_measurement_results.py |
@@ -36,7 +36,8 @@ class HtmlPageMeasurementResults( |
self._test_name = test_name |
self._reset_results = reset_results |
self._upload_results = upload_results |
- self._result_json = { |
+ self._existing_results = self._ReadExistingResults(output_stream) |
+ self._result = { |
'buildTime': self._GetBuildTime(), |
'revision': self._GetRevision(), |
'label': results_label, |
@@ -64,8 +65,8 @@ class HtmlPageMeasurementResults( |
def _GetUnitJson(self): |
return open(os.path.join(util.GetChromiumSrcDir(), *_UNIT_JSON), 'r').read() |
- def _GetResultsJson(self): |
- results_html = self._output_stream.read() |
+ def _ReadExistingResults(self, output_stream): |
+ results_html = output_stream.read() |
if self._reset_results or not results_html: |
return [] |
m = re.search( |
@@ -89,21 +90,26 @@ class HtmlPageMeasurementResults( |
metric_name = measurement |
if trace != measurement: |
metric_name += '.' + trace |
- self._result_json['tests'].setdefault(self._test_name, {}) |
- self._result_json['tests'][self._test_name].setdefault('metrics', {}) |
- self._result_json['tests'][self._test_name]['metrics'][metric_name] = { |
+ self._result['tests'].setdefault(self._test_name, {}) |
+ self._result['tests'][self._test_name].setdefault('metrics', {}) |
+ self._result['tests'][self._test_name]['metrics'][metric_name] = { |
'current': values, |
'units': units, |
'important': result_type == 'default' |
} |
+ def GetResults(self): |
+ return self._result |
+ |
+ def GetCombinedResults(self): |
+ all_results = list(self._existing_results) |
+ all_results.append(self.GetResults()) |
+ return all_results |
+ |
def PrintSummary(self): |
super(HtmlPageMeasurementResults, self).PrintSummary() |
- |
- json_results = self._GetResultsJson() |
- json_results.append(self._result_json) |
html = self._GetHtmlTemplate() |
- html = html.replace('%json_results%', json.dumps(json_results)) |
+ html = html.replace('%json_results%', json.dumps(self.GetCombinedResults())) |
html = html.replace('%json_units%', self._GetUnitJson()) |
html = html.replace('%plugins%', self._GetPlugins()) |
self._SaveResults(html) |